Lập trình hướng đối tượng (OOP) trong Python: Hướng dẫn cơ bản



Lập trình hướng đối tượng (OOP) trong Python: Hướng dẫn cơ bản

Lập trình hướng đối tượng (OOP) là một mô hình lập trình mạnh mẽ giúp tổ chức và quản lý mã nguồn hiệu quả hơn. Trong bài viết này, chúng ta sẽ tìm hiểu về lớp (class) và đối tượng (object), thuộc tính và phương thức, cũng như cách tạo và sử dụng các lớp trong Python.

1. Khái niệm về lớp (class) và đối tượng (object)

Lớp (Class)

Lớp là một khuôn mẫu để tạo ra các đối tượng. Nó chứa các thuộc tính (biến) và phương thức (hàm) để mô tả hành vi của đối tượng.

Đối tượng (Object)

Đối tượng là một thể hiện cụ thể của lớp, có thể chứa các giá trị riêng biệt.

Ví dụ đơn giản về lớp và đối tượng:

class Dog: def __init__(self, name, breed): self.name = name # Thuộc tính name self.breed = breed # Thuộc tính breed def bark(self): print(f"{self.name} đang sủa!") # Tạo đối tượng từ lớp Dog dog1 = Dog("Buddy", "Golden Retriever") dog2 = Dog("Max", "Bulldog") # Gọi phương thức dog1.bark() # Output: Buddy đang sủa! dog2.bark() # Output: Max đang sủa!

2. Thuộc tính và phương thức của lớp

Thuộc tính của lớp

Thuộc tính là các biến được định nghĩa trong lớp và mô tả trạng thái của đối tượng.

class Car: def __init__(self, brand, model): self.brand = brand self.model = model # Tạo đối tượng car1 = Car("Toyota", "Corolla") print(car1.brand) # Kết quả: Toyota print(car1.model) # Kết quả: Corolla

Phương thức của lớp

Phương thức là các hàm được định nghĩa trong lớp và có thể thao tác với các thuộc tính của đối tượng.

class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): print(f"Tôi tên là {self.name}, tôi {self.age} tuổi.") # Tạo đối tượng person1 = Person("Alice", 30) person1.introduce() # Output: Tôi tên là Alice, tôi 30 tuổi.

3. Tạo và sử dụng các lớp trong Python

Lớp với phương thức khởi tạo (__init__)

Phương thức __init__ giúp khởi tạo giá trị cho thuộc tính của đối tượng ngay khi nó được tạo:

class Student: def __init__(self, name, grade): self.name = name self.grade = grade def show_info(self): print(f"Học sinh: {self.name}, Lớp: {self.grade}") student1 = Student("Linh", 10) student1.show_info() # Kết quả: Học sinh: Linh, Lớp: 10

Thuộc tính và phương thức lớp

  • Thuộc tính lớp: Dùng chung cho tất cả đối tượng của lớp.
class Circle: pi = 3.1415 # Thuộc tính lớp def __init__(self, radius): self.radius = radius # Thuộc tính đối tượng def area(self): return Circle.pi * self.radius ** 2 c1 = Circle(5) print(c1.area()) # Kết quả: 78.5375

Tính kế thừa trong OOP

Kế thừa cho phép một lớp mới thừa hưởng các thuộc tính và phương thức của lớp cha.

class Animal: def __init__(self, name): self.name = name def speak(self): print("Animal sound") class Dog(Animal): def speak(self): print("Woof woof!") class Cat(Animal): def speak(self): print("Meow!") # Tạo đối tượng từ lớp con dog = Dog("Buddy") dog.speak() # Kết quả: Woof woof! cat = Cat("Kitty") cat.speak() # Kết quả: Meow!

Kết luận

Lập trình hướng đối tượng giúp mã nguồn dễ bảo trì và mở rộng hơn. Hiểu rõ về lớp, đối tượng, thuộc tính, phương thức và kế thừa sẽ giúp bạn viết code hiệu quả trong Python. Hy vọng bài viết này hữu ích cho bạn trong quá trình học lập trình OOP!

Mới hơn Cũ hơn
Đọc tiếp:
Lên đầu trang