Python 繼承是面向對象編程的一個重要特性。在這個概念中,一個類可以從另一個類繼承屬性和方法,并且在這個新類上添加自己的行為。
在 Python 中,繼承是通過在定義子類時指定父類來實現的。子類可以訪問父類中的屬性和方法,也可以覆蓋它們或添加新的方法。
class Animal: def __init__(self, name): self.name = name def make_sound(self): print("Some generic sound") class Cat(Animal): def __init__(self, name): super().__init__(name) def make_sound(self): print("Meow")
在這個例子中,Animal 是一個超類,Cat 是一個子類。Cat 繼承了 Animal 的屬性和方法。當 Cat 的實例被創建時,它的 __init__() 方法會調用 Animal 的 __init__() 方法,以便 Animal 的屬性也被設置。
然后,Cat 可以覆蓋超類中的 make_sound() 方法。這意味著當實例調用 Cat 類的 make_sound() 方法時,它會打印出 "Meow" 而不是 "Some generic sound"。
繼承還可以形成多級繼承,這意味著一個子類可以繼承自另一個子類。
class Animal: def __init__(self, name): self.name = name def make_sound(self): print("Some generic sound") class Mammal(Animal): def __init__(self, name): super().__init__(name) def feed_baby_with_milk(self): print("Feeding with milk") class Cat(Mammal): def __init__(self, name): super().__init__(name) def make_sound(self): print("Meow") class Dog(Mammal): def __init__(self, name): super().__init__(name) def make_sound(self): print("Woof")
在這個例子中,Mammal 是一個中間類,它繼承了 Animal 中的屬性和方法,并添加了一個屬性 feed_baby_with_milk()。Cat 和 Dog 繼承了 Mammal。
這意味著當實例調用 Cat 類的 feed_baby_with_milk() 方法時,它會打印出 "Feeding with milk"。
總結:Python 繼承是一個強大的面向對象編程工具,允許子類繼承超類的屬性和方法,并在子類中添加新的屬性和方法。多級繼承允許子類繼承多個類。