
Khóa học
Python mở rộng
Lập trình hướng đối tượng OOP
Tiến bước vào kỷ nguyên AI
Cuộn xuống
🧠 4 đặc điểm OOP và cách minh họa:
Đóng gói (Encapsulation)
Gói dữ liệu và hành vi vào 1 đối tượng.
Game minh họa: Class Ball, Paddle với thuộc tính riêng biệt.
Kế thừa (Inheritance)
Tạo lớp mới kế thừa tính năng từ lớp cũ.
Game minh họa: Class FastBall kế thừa từ Ball và có tốc độ nhanh hơn.
Đa hình (Polymorphism)
Nhiều hành vi khác nhau cho cùng tên hàm.
Game minh họa: Hàm move() cho Snake, Ball hoạt động khác nhau.
Trừu tượng hóa (Abstraction)
Chỉ hiển thị phần cần thiết, giấu chi tiết
Game minh họa: Giao diện điều khiển trò chơi chỉ hiển thị nút và trạng thái.
🔵 Tuần 1: Làm quen với Python & OOP cơ bản
Buổi 1:
-
Giới thiệu OOP (dễ hiểu, ví dụ từ đời sống: chó, mèo là các “đối tượng”).
-
Làm quen với class, __init__, self.
-
Tạo lớp Animal, thêm thuộc tính name, sound.
Buổi 2:
-
Làm ví dụ lớp Ball, Paddle trong Ping Pong.
-
Giải thích ĐÓNG GÓI: mọi thứ liên quan tới trái bóng nằm trong class Ball.
-
Bài tập nhỏ: tạo class Player có score và move().
🟢 Tuần 2: Kế thừa & Xây dựng Ping Pong
Buổi 3:
-
Giải thích KẾ THỪA bằng hình ảnh (ví dụ: Mèo là thú vật, kế thừa từ Animal).
-
Tạo class FastBall(Ball).
-
Cho thấy FastBall dùng được move() từ Ball nhưng tốc độ khác.
Buổi 4:
-
Lập trình Ping Pong hoàn chỉnh:
-
class Ball, class Paddle, class Scoreboard
-
Dùng turtle, pygame hoặc tkinter đơn giản.
-
.
🟡 Tuần 3: Đa hình & Bắt đầu game Snake
Buổi 5:
-
iới thiệu ĐA HÌNH: nhiều class có hàm move() riêng biệt.
-
Tạo class Shape, rồi kế thừa Circle, Square với draw() khác nhau.
Buổi 6:
-
Khởi động game Snake:
-
class Snake, class Food, class Scoreboard
-
Dùng pygame hoặc turtle.
-
Viết hàm move() khác cho Snake và Food.