python Class里的继承
时间: 2023-06-30 17:24:12 浏览: 160
Python中的类可以通过继承来扩展现有类的功能。要创建一个继承一个现有类的新类,只需将现有类作为新类的参数传递即可。例如:
```python
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
raise NotImplementedError("Subclass must implement abstract method")
class Dog(Animal):
def speak(self):
return "Woof"
```
在这个例子中,我们定义了一个名为Animal的基类,它有一个名为speak的抽象方法。我们还定义了一个名为Dog的子类,它从Animal继承,并实现了speak方法。
注意,在Animal类中,speak方法被定义为抽象方法,并且在调用时会抛出NotImplementedError异常。这是因为我们不想在Animal中实现speak方法,而是希望子类实现它。这是一种常见的设计模式,称为模板方法模式。
在Dog类中,我们重写了speak方法,使其返回字符串“Woof”。
现在,我们可以创建一个Dog对象并调用它的speak方法:
```python
my_dog = Dog("Rufus")
print(my_dog.speak()) # Output: Woof
```
注意,我们没有在Dog类中定义__init__方法。这是因为Dog类从Animal类继承了__init__方法,并且我们不需要在Dog类中再次定义它。
阅读全文