python抽象类的方法体中有代码实现吗
时间: 2023-08-05 10:02:07 浏览: 94
在Python中定义和使用抽象类的方法
5星 · 资源好评率100%
抽象类中的方法体是可以有代码实现的,但是抽象方法必须没有实现。抽象方法是一种定义了方法名、参数和返回值类型,但没有具体实现的方法。抽象类中的抽象方法必须被子类实现。在Python中,抽象类可以通过abc模块来实现。下面是一个例子:
```python
from abc import ABC, abstractmethod
class Shape(ABC):
def __init__(self, color):
self.color = color
@abstractmethod
def area(self):
pass
class Circle(Shape):
def __init__(self, color, radius):
super().__init__(color)
self.radius = radius
def area(self):
return 3.14 * self.radius * self.radius
circle = Circle("red", 5)
print(circle.area())
```
在这个例子中,`Shape`是一个抽象类,它有一个抽象方法`area()`,并且有一个带有代码实现的构造函数`__init__()`。`Circle`是`Shape`的子类,它必须实现`area()`方法。当我们创建一个`Circle`对象并调用`area()`方法时,它会返回圆的面积。
阅读全文