{site_name}

{site_name}

🌜 搜索

在Python中,可以通过在派生类中使用super()函数来调用其基类中定义的方法

Python 𝄐 0
基类怎么调用派生类的函数,派生类是基类的扩展,派生类可以添加,怎么在派生类中引用基类中的数据,基类的成员在派生类中的访问权限,基类可以访问派生类吗,派生类调用基类虚函数
在Python中,可以通过在派生类中使用super()函数来调用其基类中定义的方法。这个过程称为方法重写(Method Overriding),它允许我们实现一个新的方法,但仍然保留基类中的原始实现。

调用基类方法的一般语法是:

super().method_name(parameters)


这里的“super()”返回了一个代表当前派生类的基类对象,我们可以使用它来调用基类中的方法。如果有多个基类,我们需要明确指定要调用哪个基类的方法。

下面是一个简单的示例代码,演示了如何在Python中使用super()函数调用基类中的方法:

python
class Person:
def __init__(self, name):
self.name = name

def say_hello(self):
print(f"Hello, I'm {self.name}!")

class Student(Person):
def __init__(self, name, grade):
super().__init__(name)
self.grade = grade

def say_hello(self):
super().say_hello()
print(f"I'm a student in grade {self.grade}.")

s = Student("Tom", 7)
s.say_hello()


输出结果为:

Hello, I'm Tom!
I'm a student in grade 7.


在这个例子中,我们定义了一个Person类和一个Student类。Student类继承自Person类,并覆盖了其say_hello()方法。在Student类的构造函数中,我们首先使用super()函数调用基类的构造函数以初始化name属性,然后将grade属性初始化为所提供的参数。在Student类中的say_hello()方法中,我们首先使用super()函数调用基类Person的say_hello()方法,然后打印出学生的年级。