定义一个抽象类,包含求周长和面积的方法,实现圆和正方形
时间: 2024-02-04 17:03:41 浏览: 140
好的,以下是示例代码:
```python
from abc import ABC, abstractmethod
import math
# 定义抽象类
class Shape(ABC):
# 定义抽象方法
@abstractmethod
def perimeter(self):
pass
@abstractmethod
def area(self):
pass
# 实现圆类
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def perimeter(self):
return 2 * math.pi * self.radius
def area(self):
return math.pi * self.radius ** 2
# 实现正方形类
class Square(Shape):
def __init__(self, side):
self.side = side
def perimeter(self):
return 4 * self.side
def area(self):
return self.side ** 2
```
在这个例子中,我们创建了一个名为 `Shape` 的抽象类,它包含了求周长和面积的两个抽象方法。然后我们分别创建了圆和正方形两个类,并实现了 `Shape` 中定义的方法。这样,我们就可以通过调用它们的 `perimeter()` 和 `area()` 方法来计算它们的周长和面积了。
阅读全文