溫馨提示×

首頁 > 教程 > 編程開發(fā) > Python 入門教程 > 繼承與多態(tài)

繼承與多態(tài)

面向對象編程是一種編程范式,其中數據和行為被組織為對象,對象之間通過消息傳遞進行交互。繼承與多態(tài)是面向對象編程中的兩個重要概念,它們可以幫助我們更好地組織和管理代碼。

繼承

繼承是面向對象編程中最基本的概念之一。通過繼承,一個類可以從另一個類中繼承屬性和方法。繼承可以幫助我們避免重復編寫代碼,提高代碼的復用性和可維護性。

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

    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        return "Woof!"

class Cat(Animal):
    def speak(self):
        return "Meow!"

dog = Dog("Buddy")
cat = Cat("Whiskers")

print(dog.speak())  # 輸出: Woof!
print(cat.speak())  # 輸出: Meow!

在上面的例子中,Animal 是一個基類,DogCat 是繼承自 Animal 的子類。子類可以重寫父類的方法,從而實現不同的行為。

多態(tài)

多態(tài)是面向對象編程的另一個重要概念,它允許不同的類對象對同一個方法做出不同的響應。多態(tài)可以讓我們以統(tǒng)一的方式處理不同的對象,從而減少重復的代碼。

class Shape:
    def area(self):
        pass

class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return 3.14 * self.radius ** 2

class Rectangle(Shape):
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def area(self):
        return self.width * self.height

shapes = [Circle(5), Rectangle(3, 4)]

for shape in shapes:
    print(shape.area())

在上面的例子中,CircleRectangle 都繼承自 Shape,并重寫了 area 方法。通過多態(tài),我們可以在一個統(tǒng)一的列表中存儲不同的形狀對象,并通過統(tǒng)一的方式計算它們的面積。

繼承與多態(tài)是面向對象編程中非常重要的概念,它們可以幫助我們更好地組織和管理代碼,提高代碼的可復用性和可維護性。希望本教程可以幫助你更好地理解和應用這些概念。