python的继承关系
时间: 2023-07-08 22:48:15 浏览: 99
在 Python 中,所有的类都直接或间接继承自一个基类 `object`。这种继承关系称为所有类的“新式类”。Python 3 中所有的类都是新式类。
Python 中的继承支持单重继承和多重继承。单重继承指一个子类只继承一个父类。多重继承指一个子类同时继承多个父类。
Python 中的继承关系可以使用 `__base__` 属性来查看。例如,`SubClass.__base__` 返回 `SubClass` 的直接父类。
继承关系可以形成类的层次结构,其中每个类都可以重写父类的方法或属性,或者添加自己的方法或属性。在使用继承时,可以使用 `super()` 函数来调用父类的方法,从而避免代码的冗余和重复。
例如,定义一个 `Animal` 类和一个继承自 `Animal` 类的 `Dog` 类:
```python
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
print("I am an animal")
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name)
self.breed = breed
def speak(self):
print("I am a dog")
```
以上代码定义了一个 `Animal` 类和一个继承自 `Animal` 类的 `Dog` 类。`Animal` 类有一个 `name` 属性和一个 `speak` 方法,`Dog` 类在此基础上添加了一个 `breed` 属性,并且覆盖了 `speak` 方法。
使用继承可以减少代码的冗余,提高代码的可维护性和可重用性。但是,需要注意避免过度使用继承,导致代码的复杂性增加。
阅读全文