利用抽象类编程实现计算多种形状的周长和面积的代码
时间: 2023-09-09 18:06:04 浏览: 173
好的,这个问题可以回答。下面是利用抽象类编程实现计算多种形状的周长和面积的代码示例:
```python
from abc import ABC, abstractmethod
# 定义抽象类 Shape
class Shape(ABC):
@abstractmethod
def perimeter(self):
pass
@abstractmethod
def area(self):
pass
# 定义 Circle 类,继承自 Shape 抽象类
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def perimeter(self):
return 2 * 3.14 * self.radius
def area(self):
return 3.14 * (self.radius ** 2)
# 定义 Rect 类,继承自 Shape 抽象类
class Rect(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def perimeter(self):
return 2 * (self.width + self.height)
def area(self):
return self.width * self.height
# 测试代码
cir = Circle(5)
rec = Rect(3, 4)
print(cir.perimeter()) # 输出:31.400000000000002
print(cir.area()) # 输出:78.5
print(rec.perimeter()) # 输出:14
print(rec.area()) # 输出:12
```
在这个示例中,我们利用抽象类 Shape 定义了两个方法 perimeter 和 area,这两个方法分别用来计算周长和面积。Circle 和 Rect 类继承自 Shape 抽象类,并实现了这两个方法,分别用来计算圆形和矩形的周长和面积。在测试代码中,我们分别创建了一个 Circle 对象和一个 Rect 对象,并调用它们的 perimeter 和 area 方法得到了结果。
阅读全文