Kinh nghiệm học OOP

Chào mọi người, em đang là sinh viên năm 2, đang học môn khá quan trọng là OOP, nhưng em thấy hơi mơ hồ vì trên lớp giáo viên chỉ dạy lý thuyết chung chung rất khó hiểu. Em cũng tìm hiểu trên youtube và các web khác để làm theo một vài ứng dụng bằng windows forms, nhưng em vẫn cảm thấy cách này chưa hay lắm (hoặc có thể tài liệu em tham khảo ko chất lượng). Nên em muốn hỏi anh chị nào trên diễn đàn này ai có kinh nghiệm học về OOP thì chỉ em với (cách học như thế nào và tài liệu gì, các trang web…) để nắm được kiến thức căn bản và nâng cao một chút(có thể làm dc những game 2D đơn giản). Em cũng ko có điều kiện để tham gia các khóa học về lập trình ạ, nên chỉ học dc ở những chỗ free trên mạng thôi. Em xin cảm ơn mọi người.!

1 Like

Lap team game 2d deeee

Đọc document -> nhìn example -> code lại -> xem đáp án -> Tìm hiểu vì sao đáp án như thế -> Nó chạy theo luồng như nào -> Xem lại document

6 Likes

Chú mua cuốn lập trình hướng đối tượng bên ĐH tự nhiên, mình học cuốn này thấy viết cũng khá dễ hiểu, dùng ngôn ngữ C++ có thêm java với C# để đối sánh, đọc hiểu rồi có mấy cái đồ án cuối chương thực hiện nó + với bài tập trên lớp là vững lý thuyết thôi. Lý thuyết oop chưa vững thì làm game gì được? Ok rồi muốn làm j làm :3

3 Likes

Cuốn này có trên mạng ko a?

không bạn, sách của HCMUS không có bản pdf online vì mục đích chủ yếu là phục vụ sinh viên trong trường, không phải kinh doanh lợi nhuận.
Nếu bạn muốn mua thì có thể đến nhà sách ở 1 trong 2 cơ sở của trường để mua

2 Likes

Trường mình ở cơ sở NVC có bán cuốn này nha :smiley: Bạn ra chỗ nhà sách nhỏ nhỏ sát bên tin học ĐHSP để mua nha

Mình thấy học theo trang này khá ổn nè, có sub eng ở dưới cũng khá dễ hiểu.

Không liên quan tí nhưng có phải bạn học Khoa học máy tính của BK HCM k15 ko :smile: thấy tên quen quá :v

Xin hỏi nhà sách ở làng đại học có không bạn :slight_smile:

có bạn, có đủ hết ở cả 2 cơ sở

1 Like

Cảm ơn bạn. Mình sẽ tham khảo từ từ.!!

Theo mình thì học thoe tutorials trên mạng, code nhiều vào. Lúc này lý thuyết vẫn chưa nắm hết được.
Rồi sau khi code quen tay rồi thì xem lại những phần lý thuyết về OOP để hiểu hết ý nghĩa của các từ khóa, quan hệ bla bla. Đấy là kinh nghiệm của mình khi học OOP trong khoảng 2 - 3 tháng khi đã học C từ trước (không biết C ++).
À còn C++ thì sau khi biết Java thì mình xem 1 cái video trên youtube của 1 ông nước ngoài. Xem hết video 1 tiếng mà hiểu về C++ nhiều lắm, không tin vào bản thân luôn :wink: :wink: :wink:

1 Like

@gororo Đúng bạn. Bạn tên là gì vậy. Học lớp nào?

Khởi đầu để học OOP hiện quả
trước tiên lên google tìm kiếm khái niệm OOP là gì hay kiếm tiếng việt cho đơn giản.

2 tìm hiểu những cái cơ bản trong OOP:
Class->biến và function trong class->tầm vực (private, protected, public) khác nhau thế nào? -> tạo đối tượng trong class -> gọi hàm, gọi biến

3 sau khi đã hiểu được cơ bản bắt đầu đi chuyên sâu:
Class: rộng ra abstract class là gì -> interface là gì ? -> kế thừa
biến và function: hằng số -> biến static -> biến khai báo trong class -> function static -> sử dụng biến/function kế thừa từ class cha -> Override function là gì -> hàm ảo là gì -> hàm thuần ảo là gì ?

4 tìm hiểu các kiến thức cao siêu hơn torng OOP:
đa hình/ đa xạ trong kế thừa -> class template -> function template v.v

5 Cao siêu hơn bạn nên tìm hiển cách thức hoạt động về mặt quản lý vùng nhớ của đối tượng như thế nào? vd:

function hamGiCungDuoc(ObjectA obja) {
     ObjectA objb;
     objb.x = 2;
     
     obja.x = 10;
     obja = objb;
}

sau đó
ObjectA obja;
obja.x = 5;
hamGiCungDuoc(obja)
obja.x //lúc này biến x là mấy và tại sao ???

và còn vài thứ cao siêu mà mình còn chưa biết

P/S: và cuối cùng thì mình khuyên bạn 1 điều, rút ra từ những gì mình thấy và từ kinh ngiệm bản thân thôi. Code bạn đừng quá chú tâm vào 1 bài toán cụ thể phải code như thế nào. Việc tìm ví dụ rồi code lại cũng được nhưng không hẳn là hay. Cách hay nhất là nên đọc code. hiểu vấn đề tại sao người ta code như vậy. và tại sao lại nghĩ ra được cách code đó.v.v

2 Likes

Khi gặp một khái niệm trong OOP ví dụ như abstract…đặt câu hỏi “Tại sao lại cần phải có thằng này?” trả lời được câu hỏi này là bạn đã biết nó được sử dụng khi nào. Và tiếp theo là “Cách sử dụng của thằng đó”.
Rồi bạn tìm các “ví dụ tuyệt vời dễ hiểu nhất” về cái đó…

2 Likes

ngày trước học OOP mới học tới kế thừa thấy mấy thg chế ra cái này củ chuối thế, sao k làm cho nó như thế này…, thế này… có phải hay hơn k. Vài hôm sau học bài đa hình mới thấy là cái mình nghĩ ra hôm trc chính là đa hình :))
học thì k cần làm bài tập nhiều đâu. hiểu đc khái niệm, cách dùng, tại sao lại có nó là đc

nhai đi nhai lại mấy trăm lần cho nó thấm dần là được

Cho em hỏi sách oop của đh khtn tên gì ạ.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?