python 类继承 父类初始化_Python类继承:如何使用不在父类中的值初始化子类
时间: 2024-05-16 20:14:30 浏览: 204
在Python中,可以通过调用`super()`函数来初始化子类。如果你希望在子类中添加不在父类中的值,可以在子类的`__init__()`方法中添加额外的参数,并在调用`super().__init__()`时将这些参数传递给父类的初始化方法。
例如,假设你有一个父类`Animal`,它有一个属性`name`,并且你希望创建一个子类`Cat`,它有一个额外的属性`color`。你可以这样实现:
```python
class Animal:
def __init__(self, name):
self.name = name
class Cat(Animal):
def __init__(self, name, color):
super().__init__(name)
self.color = color
```
在子类`Cat`的`__init__()`方法中,我们首先调用父类`Animal`的初始化方法,将`name`传递给它。然后我们添加一个额外的参数`color`,并将其保存到`self.color`属性中。
这样,当你创建一个`Cat`对象时,你需要提供一个`name`和一个`color`,如下所示:
```python
my_cat = Cat("Garfield", "orange")
print(my_cat.name) # 输出 "Garfield"
print(my_cat.color) # 输出 "orange"
```
注意,当你调用`super().__init__()`时,它将调用父类的初始化方法,并将`self`传递给它。这意味着在父类的初始化方法中,你可以访问子类的属性。
阅读全文