python 基类调子类函数
时间: 2024-09-09 10:08:02 浏览: 39
Python基类函数的重载与调用实例分析
在Python中,基类调用子类的函数通常是通过在基类中使用`super()`函数来实现的,这允许基类调用其子类的方法。这种情况通常发生在基类需要调用子类重写的方法,以便在基类中执行某些操作,并且希望调用子类中相同方法的新实现。这种模式在构造函数中尤为常见,例如在子类构造函数中完成一些初始化工作后,可能需要调用基类的构造函数以确保基类部分也被正确初始化。
下面是一个使用Python中基类调用子类函数的简单示例:
```python
class Base:
def __init__(self):
print("Base class constructor")
self.show()
def show(self):
print("Base class show method")
class Derived(Base):
def __init__(self):
print("Derived class constructor")
super().__init__() # 调用基类构造函数
def show(self):
print("Derived class show method")
# 创建 Derived 类的实例
derived_instance = Derived()
```
在这个例子中,当你创建`Derived`类的一个实例时,`Derived`类的构造函数首先执行。在`Derived`构造函数中,通过`super()`调用了基类`Base`的构造函数,这又导致了基类`Base`的`show`方法被调用,此时因为`Derived`类已经创建,所以调用的是`Derived`类中重写的`show`方法。
输出将是:
```
Derived class constructor
Base class constructor
Derived class show method
```
这展示了基类在构造函数中如何调用子类重写的方法。
阅读全文