01/10/2018, 00:25

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.!

Tao Không Ngu. viết 02:41 ngày 01/10/2018

Lap team game 2d deeee

Đỗ Trung Quân viết 02:28 ngày 01/10/2018

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

Đọ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

kiencon viết 02:39 ngày 01/10/2018

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

Tran Quoc Phap viết 02:40 ngày 01/10/2018

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

Nguyễn Xuân Phúc viết 02:33 ngày 01/10/2018

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

Nguyên Vũ viết 02:39 ngày 01/10/2018

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

Tịnh Nguyên viết 02:34 ngày 01/10/2018

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

Microsoft Virtual Academy

C# Fundamentals for Absolute Beginners

Learn C# programming from an expert in the industry. Get the tools, see how to write code, debug features, explore customizations, and more.

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 thấy tên quen quá :v

Trần Thắng viết 02:26 ngày 01/10/2018

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

Nguyễn Xuân Phúc viết 02:26 ngày 01/10/2018

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

Tran Quoc Phap viết 02:28 ngày 01/10/2018

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

Mason Ha viết 02:26 ngày 01/10/2018

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

Tran Quoc Phap viết 02:32 ngày 01/10/2018

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

Bò Lúc Lắc viết 02:34 ngày 01/10/2018

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

traiotdo viết 02:40 ngày 01/10/2018

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 đó…

kyo huu viết 02:37 ngày 01/10/2018

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

Dũng viết 02:27 ngày 01/10/2018

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

Bài liên quan
0