Lập trình Python – 33. Bài tập về Kế thừa trong Python

Chào mừng các bạn đến với bài học lập trình Python! Hôm nay chúng ta sẽ tìm hiểu về một khái niệm quan trọng trong lập trình hướng đối tượng, đó là kế thừa.

Kế thừa là gì? Đơn giản nói, kế thừa cho phép chúng ta tạo ra các lớp con dựa trên các lớp cha đã tồn tại. Lớp con sẽ kế thừa lại các thuộc tính và phương thức của lớp cha, và chúng ta có thể mở rộng hoặc thay đổi chúng theo ý muốn.

Ví dụ, chúng ta có thể tạo một lớp “Động vật” là lớp cha, và từ đó tạo ra các lớp con như “Chó” và “Mèo”. Các lớp con này kế thừa lại thuộc tính và phương thức của lớp cha, nhưng cũng có thể có những thuộc tính và phương thức riêng của chúng.

Hãy xem một ví dụ để hiểu rõ hơn về kế thừa trong Python:

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

    def voice(self):
        print("Animal sound")

class Dog(Animal):
    def __init__(self, name, age, breed):
        super().__init__(name, age)
        self.breed = breed

    def voice(self):
        print("Woof woof")

class Cat(Animal):
    def __init__(self, name, age, color):
        super().__init__(name, age)
        self.color = color

    def voice(self):
        print("Meow meow")

Trong ví dụ này, chúng ta có lớp “Animal” (Động vật) là lớp cha, và từ đó tạo ra hai lớp con là “Dog” (Chó) và “Cat” (Mèo). Cả hai lớp con này đều kế thừa lại thuộc tính và phương thức của lớp cha.

Chúng ta cũng có thể viết lại phương thức kế thừa hoặc định nghĩa thêm phương thức riêng cho từng lớp con. Ví dụ, trong lớp “Dog”, chúng ta đã viết lại phương thức “voice” để in ra chuỗi “Woof woof”. Tương tự, trong lớp “Cat”, chúng ta đã viết lại phương thức “voice” để in ra chuỗi “Meow meow”.

Để sử dụng các lớp con, chúng ta có thể khởi tạo các đối tượng và gọi các phương thức tương ứng, như sau:

dog = Dog("Buddy", 3, "Golden Retriever")
dog.voice()  # Output: "Woof woof"

cat = Cat("Garfield", 5, "Orange")
cat.voice()  # Output: "Meow meow"

Ở đây, chúng ta khởi tạo một con chó với tên là “Buddy”, tuổi là 3 và giống là “Golden Retriever”. Khi gọi phương thức “voice”, con chó sẽ in ra chuỗi “Woof woof”. Tương tự, chúng ta khởi tạo một con mèo với tên là “Garfield”, tuổi là 5 và màu sắc là “Orange”. Khi gọi phương thức “voice”, con mèo sẽ in ra chuỗi “Meow meow”.

Bằng cách sử dụng kế thừa, chúng ta có thể tái sử dụng mã nguồn, giảm thiểu sự

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *