抽象类中的非抽象方法如何调用
时间: 2023-08-11 10:13:16 浏览: 129
在抽象类中定义的非抽象方法可以被子类继承并调用。当子类实例化后,可以通过子类的对象来调用非抽象方法。
例如,假设有一个抽象类Animal,其中定义了一个非抽象方法run:
```python
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def move(self):
pass
def run(self):
print("Animal is running")
```
现在有一个子类Dog,它继承了Animal类。在Dog类中,可以直接调用Animal类中的非抽象方法run:
```python
class Dog(Animal):
def move(self):
print("Dog is moving")
dog = Dog()
dog.run() # 输出 "Animal is running"
```
在这个例子中,Dog类继承了Animal类,并实现了其中的抽象方法move。在实例化Dog类后,我们可以通过dog对象来调用Animal类中的非抽象方法run。注意,我们不需要在Dog类中重新定义run方法,因为它已经在Animal类中被定义了。
阅读全文