子类在继承了父类的全部初始化参数后,可以继续添加子类的初始化参数吗?
时间: 2023-11-19 15:05:33 浏览: 67
是的,子类在继承了父类的全部初始化参数后,可以继续添加子类的初始化参数。子类的构造函数可以接收额外的参数,并在调用父类的构造函数之前或之后,进行自己特有的逻辑处理。以下是一个示例:
```python
class Parent:
def __init__(self, name):
self.name = name
class Child(Parent):
def __init__(self, name, age):
super().__init__(name)
self.age = age
class GrandChild(Child):
def __init__(self, name, age, school):
super().__init__(name, age)
self.school = school
parent = Parent("John")
child = Child("Tom", 10)
grandchild = GrandChild("Jerry", 5, "ABC School")
print(parent.name) # 输出: John
print(child.name) # 输出: Tom
print(child.age) # 输出: 10
print(grandchild.name) # 输出: Jerry
print(grandchild.age) # 输出: 5
print(grandchild.school) # 输出: ABC School
```
在上面的示例中,`Child` 类继承了 `Parent` 类的初始化参数 `name`,并添加了自己的初始化参数 `age`。而 `GrandChild` 类继承了 `Child` 类的全部初始化参数,并再次添加了自己的初始化参数 `school`。通过使用super()函数,子类能够调用父类的构造函数,并传递相应的参数。这样,子类就能够继承多层父类的属性,并添加自己特有的属性。
阅读全文