在Python中,類(lèi)的繼承機(jī)制是通過(guò)創(chuàng)建子類(lèi)來(lái)繼承父類(lèi)的屬性和方法。子類(lèi)可以繼承父類(lèi)的所有非私有成員(方法和屬性),并且可以添加自己的特定屬性和方法。
下面是Python類(lèi)的繼承示例:
class ParentClass:
def __init__(self, name):
self.name = name
def greet(self):
print("Hello, I'm", self.name)
class ChildClass(ParentClass):
def __init__(self, name, age):
super().__init__(name) # 調(diào)用父類(lèi)的構(gòu)造函數(shù)
self.age = age
def introduce(self):
print("I'm", self.name, "and I'm", self.age, "years old.")
# 創(chuàng)建父類(lèi)對(duì)象
parent = ParentClass("John")
parent.greet() # 輸出: Hello, I'm John
# 創(chuàng)建子類(lèi)對(duì)象
child = ChildClass("Alice", 25)
child.greet() # 輸出: Hello, I'm Alice
child.introduce() # 輸出: I'm Alice and I'm 25 years old.
在上述示例中,`ParentClass`是父類(lèi),`ChildClass`是子類(lèi)。子類(lèi)通過(guò)在定義中指定父類(lèi)名稱(chēng)來(lái)繼承父類(lèi)。子類(lèi)可以訪(fǎng)問(wèn)父類(lèi)的方法和屬性,也可以添加自己的方法和屬性。
在子類(lèi)的構(gòu)造函數(shù)中,可以使用`super()`函數(shù)來(lái)調(diào)用父類(lèi)的構(gòu)造函數(shù),以便初始化繼承的屬性。
子類(lèi)也可以重寫(xiě)(覆蓋)繼承的方法,即在子類(lèi)中重新定義與父類(lèi)同名的方法。子類(lèi)中的重寫(xiě)方法會(huì)覆蓋父類(lèi)中的相應(yīng)方法。
通過(guò)繼承,子類(lèi)可以繼承和擴(kuò)展父類(lèi)的功能,實(shí)現(xiàn)代碼的重用和層次化設(shè)計(jì)。