在Python中,super()
函數用于調用父類的方法。它可以在子類的方法中調用父類的同名方法,實現方法的覆蓋和擴展。super()
函數接受兩個參數:子類的類名和子類的對象。它的使用格式為:
super(子類類名, 子類對象)
在子類的方法中使用super()
函數時,可以在子類方法中調用父類的同名方法,并傳遞必要的參數。例如:
class ParentClass:
def __init__(self, name):
self.name = name
def say_hello(self):
print("Hello,", self.name)
class ChildClass(ParentClass):
def __init__(self, name, age):
super().__init__(name)
self.age = age
def say_hello(self):
super().say_hello()
print("I'm", self.age, "years old")
child = ChildClass("Alice", 10)
child.say_hello()
輸出結果為:
Hello, Alice
I'm 10 years old
在上面的例子中,ChildClass
繼承自ParentClass
,并重寫了say_hello
方法。在ChildClass
的__init__
方法中,使用super().__init__(name)
調用了父類的__init__
方法,確保了子類對象的初始化。在ChildClass
的say_hello
方法中,使用super().say_hello()
調用了父類的say_hello
方法,然后再添加了自己的邏輯。這樣,子類對象調用say_hello
方法時,既可以執行父類的方法,又可以執行子類的方法。