Skip to main content

Bài 8-1 Lớp và hướng đối tượng


Tác giả: Phu Hoang
Website học Python: Let's Code Python


🧠 Giới thiệu về Lập trình Hướng đối tượng (OOP)

Lập trình hướng đối tượng (Object-Oriented Programming - OOP) là một phong cách lập trình mô phỏng thế giới thực thông qua đối tượnglớp.

Ví dụ thực tế:

  • 🧸 Một chiếc Gấu bông là một đối tượng.
  • 💡 "Gấu bông" là một lớp chung để tạo ra nhiều con gấu bông khác nhau.

🧱 Khái niệm cơ bản

Khái niệmGiải thích
classĐịnh nghĩa khuôn mẫu cho đối tượng
objectThực thể được tạo từ class
__init__Hàm khởi tạo, chạy đầu tiên khi tạo object
selfĐại diện cho chính đối tượng hiện tại
methodHàm được định nghĩa trong class

🧪 Ví dụ minh họa

🧑‍🏫 Định nghĩa một lớp Student

class Student:
def __init__(self, name, age):
self.name = name
self.age = age

def introduce(self):
print(f"Xin chào, mình là {self.name}, {self.age} tuổi.")

📦 Tạo đối tượng (instance)

sv1 = Student("Minh", 20)
sv2 = Student("Lan", 21)

sv1.introduce()
sv2.introduce()

Kết quả:

Xin chào, mình là Minh, 20 tuổi.
Xin chào, mình là Lan, 21 tuổi.

📊 Minh họa bằng hình ảnh

Hình 1: Mối quan hệ giữa classobject

oop-concept

Hình 2: Một lớp Python cơ bản

python-class


🛠 Các tính năng OOP nâng cao

Tính năngMô tả
Kế thừa (Inheritance)Lớp con kế thừa từ lớp cha
Đa hình (Polymorphism)Nhiều phương thức cùng tên, hoạt động khác nhau
Bao đóng (Encapsulation)Ẩn chi tiết nội bộ, chỉ cho phép truy cập qua method

🧰 Ví dụ kế thừa

class Animal:
def speak(self):
print("Động vật đang phát ra âm thanh.")

class Dog(Animal):
def speak(self):
print("Gâu gâu!")

pet = Dog()
pet.speak()

Kết quả:

Gâu gâu!

✅ Tóm tắt

  • class giống như khuôn mẫu, object là sản phẩm tạo ra từ khuôn đó.
  • __init__ là nơi khai báo thuộc tính khi tạo object.
  • self giúp gán giá trị cho chính đối tượng.
  • OOP giúp quản lý chương trình theo cách mô phỏng thế giới thực.

🔗 Thực hành thêm

👉 Truy cập: Let's Code Python - OOP Bài tập