编写一个python程序,创建一个表示形状的类,包含计算周长和面积的方法,实现不同形状的子类,如圆形和矩形
时间: 2024-03-20 18:41:23 浏览: 52
设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法
5星 · 资源好评率100%
好的,以下是示例代码:
```python
import math
class Shape:
def __init__(self):
pass
def perimeter(self):
pass
def area(self):
pass
class Circle(Shape):
def __init__(self, radius):
super().__init__()
self.radius = radius
def perimeter(self):
return 2 * math.pi * self.radius
def area(self):
return math.pi * (self.radius ** 2)
class Rectangle(Shape):
def __init__(self, width, height):
super().__init__()
self.width = width
self.height = height
def perimeter(self):
return 2 * (self.width + self.height)
def area(self):
return self.width * self.height
# 示例用法
circle = Circle(5)
print("圆的周长:", circle.perimeter())
print("圆的面积:", circle.area())
rectangle = Rectangle(2, 4)
print("矩形的周长:", rectangle.perimeter())
print("矩形的面积:", rectangle.area())
```
在这个示例中,我们首先定义了一个表示形状的父类 `Shape`,并声明了两个方法 `perimeter()` 和 `area()`,这两个方法分别用于计算周长和面积。然后我们定义了两个子类 `Circle` 和 `Rectangle`,分别表示圆和矩形,并实现了它们的 `perimeter()` 和 `area()` 方法。
在示例的最后,我们创建了一个圆对象和一个矩形对象,并分别调用了它们的 `perimeter()` 和 `area()` 方法来计算它们的周长和面积。
阅读全文