如何在子类构造函数中传递参数给父类构造函数?
时间: 2024-10-10 16:17:03 浏览: 47
C_Polymorphism_instance.rar_The Class
在子类构造函数中传递参数给父类构造函数,可以通过使用 `super()` 关键字和相应的参数来完成。以下是一个简单的示例:
```python
class ParentClass:
def __init__(self, param1):
self.param1 = param1
class ChildClass(ParentClass):
def __init__(self, param2):
super().__init__(param2) # 使用 super() 调用父类的构造函数
self.param2 = param2
```
在这个例子中,子类 `ChildClass` 接受一个名为 `param2` 的参数,然后在构造函数中传递给父类 `ParentClass` 的构造函数。在父类的构造函数中,参数 `param1` 被初始化,并存储在实例变量中。
当你创建一个 `ChildClass` 的实例时,你可以传递不同的参数给父类和子类的构造函数:
```python
child = ChildClass(10, "Hello")
print(child.param1) # 输出: 10
print(child.param2) # 输出: Hello
```
请注意,使用 `super()` 调用父类的构造函数是一种常见的做法,因为它允许父类访问其子类中定义的任何属性或方法。此外,在子类构造函数中调用父类的构造函数时,通常建议使用 `super()` 而不是直接调用父类的构造函数方法,以确保正确处理继承和多态性。
阅读全文