📅  最后修改于: 2023-12-03 15:05:24.310000             🧑  作者: Mango
在Python中,super()函数用于调用父类的方法,从而实现继承的特性。当我们调用super()的时候,需要指定当前类以及当前类的实例。而在调用具体的方法时,我们需要指定要调用的父类中的方法名。
以下是一个调用super.something方法的示例,其中'something'可以是第一个或最后一个颤动作为主题。
当我们想要调用第一个颤动作为主题时,可以使用以下代码:
class MyParentClass():
def __init__(self):
self.name = "Parent"
class MyClass(MyParentClass):
def __init__(self):
super().__init__()
self.age = 18
my_object = MyClass()
print(my_object.name) # 输出 "Parent"
在上述示例中,我们定义了一个父类MyParentClass
和一个继承自MyParentClass
的子类MyClass
。在MyClass
的构造函数中,我们通过super().__init__()
调用了父类的构造函数,从而实现了对父类构造函数的调用,并将self.name
设置为"Parent"。最终输出my_object.name
时,返回了"Parent"。
当我们想要调用最后一个颤动作为主题时,可以使用以下代码:
class MyParentClass():
def speak(self):
print("I am parent.")
class MyClass(MyParentClass):
def speak(self):
super().speak()
print("I am child.")
my_object = MyClass()
my_object.speak() # 输出 "I am parent." 和 "I am child."
在上述示例中,我们同样定义了一个父类MyParentClass
和一个继承自MyParentClass
的子类MyClass
。在MyClass
中,我们重载了父类的speak()
方法,并通过super().speak()
调用了父类中的speak()
方法。通过这种方式,我们可以在子类中实现自己的逻辑,并保留对父类同名方法的调用。最终执行my_object.speak()
,会输出"I am parent."和"I am child."。
因此,通过使用super.something方法,我们可以方便地调用父类中的方法或变量,从而实现多态和继承的特性。