python代码完成sdut-oop-6 计算各种图形的周长(多态)
时间: 2024-05-10 14:19:57 浏览: 192
非常感谢您的提问。关于您的问题,我可以回答。在Python中完成sdut-oop-6的多态计算各种图形的周长可以按照以下步骤进行:
1.定义一个父类Shape,包括计算周长的方法calc_perimeter(self),用于作为所有子类的基类;
2.定义子类Circle、Rectangle、Triangle,分别实现calc_perimeter(self)方法并返回不同形状的图形的周长;
3.在主程序中,分别实例化三个子类对象c、r、t,并分别调用它们的calc_perimeter(self)方法,输出计算结果。
代码示例:
```
class Shape:
def calc_perimeter(self):
pass
class Circle(Shape):
def __init__(self, r):
self.r = r
def calc_perimeter(self):
return 2 * 3.14 * self.r
class Rectangle(Shape):
def __init__(self, w, h):
self.w = w
self.h = h
def calc_perimeter(self):
return 2 * (self.w + self.h)
class Triangle(Shape):
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def calc_perimeter(self):
return self.a + self.b + self.c
c = Circle(2)
r = Rectangle(3, 4)
t = Triangle(3, 4, 5)
print(c.calc_perimeter())
print(r.calc_perimeter())
print(t.calc_perimeter())
```
希望这可以帮助您解答问题。如果您还有其他问题,请随时提问。
阅读全文