R7-4 sdut-oop-6 计算各种图形的周长(多态)
时间: 2024-03-10 16:43:55 浏览: 163
求解几何图形周长、面积的应用程序
5星 · 资源好评率100%
好的,我可以帮你解答这个问题。
计算各种图形的周长可以使用多态来实现。多态是指同一个方法名可以在不同的类中具有不同的实现方式。在这个问题中,我们可以定义一个抽象类 Shape,它包含一个方法 getPerimeter(),用于计算图形的周长。然后,我们可以创建不同的子类,每个子类都实现 getPerimeter() 方法以计算其特定类型的图形的周长。
下面是一个示例代码:
```python
# 定义 Shape 抽象类
class Shape:
def getPerimeter(self):
pass
# 定义 Circle 子类
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def getPerimeter(self):
return 2 * 3.14 * self.radius
# 定义 Square 子类
class Square(Shape):
def __init__(self, side):
self.side = side
def getPerimeter(self):
return 4 * self.side
# 定义 Triangle 子类
class Triangle(Shape):
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def getPerimeter(self):
return self.a + self.b + self.c
# 测试
circle = Circle(10)
print("圆的周长:", circle.getPerimeter())
square = Square(5)
print("正方形的周长:", square.getPerimeter())
triangle = Triangle(3, 4, 5)
print("三角形的周长:", triangle.getPerimeter())
```
输出:
```
圆的周长: 62.800000000000004
正方形的周长: 20
三角形的周长: 12
```
在上面的代码中,我们定义了 Shape 抽象类和三个子类 Circle、Square 和 Triangle。每个子类都实现了 getPerimeter() 方法以计算其特定类型的图形的周长。在主程序中,我们创建了一个 Circle 对象、一个 Square 对象和一个 Triangle 对象,并分别调用它们的 getPerimeter() 方法来计算它们的周长。
希望这个示例代码能够帮助你理解如何使用多态来计算各种图形的周长。如果你有更多的问题,请随时问我。
阅读全文