子类的构造器需要在开头调用父类的构造器,给个例子
时间: 2023-06-20 17:08:42 浏览: 246
java中的继承(子类调用父类构造方法还不懂).doc
当一个子类继承了父类之后,子类需要调用父类的构造器来完成父类中的成员变量的初始化和一些初始化操作。可以使用 `super()` 函数来调用父类的构造器。
例如,下面是一个简单的父类 `Animal` 和一个子类 `Cat` 的例子:
```python
class Animal:
def __init__(self, name):
self.name = name
print("Animal initialized")
class Cat(Animal):
def __init__(self, name, color):
super().__init__(name)
self.color = color
print("Cat initialized")
cat = Cat("Tom", "white")
print(cat.name)
print(cat.color)
```
在上述例子中,子类 `Cat` 继承了父类 `Animal`。在 `Cat` 的构造器中,我们首先调用了 `super().__init__(name)` 来调用父类的构造器,然后再完成子类的初始化操作。这样就保证了父类的成员变量也能被正确地初始化。
阅读全文