python定义接口或类 Shape,定义求周长的方法length()。 定义如下类,实现接口Shape或父类Shape的方法。 (1)三角形类Triangle (2)长方形类Rectangle (3)圆形类Circle等。 定义测试类ShapeTest,用Shape接口(或类)定义变量shape,用其指向不同类形的对象,输出各种图形的周长。并为其他的Shape接口实现类提供良好的扩展性。 提示: 计算圆周长时PI取3.14。
时间: 2024-03-20 15:44:11 浏览: 153
设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法
5星 · 资源好评率100%
好的,这是一个关于面向对象编程的问题。下面是代码实现:
```python
# Shape接口
class Shape:
def length(self):
pass
# 三角形类
class Triangle(Shape):
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def length(self):
return self.a + self.b + self.c
# 长方形类
class Rectangle(Shape):
def __init__(self, length, width):
self.length = length
self.width = width
def length(self):
return 2 * (self.length + self.width)
# 圆形类
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def length(self):
return 2 * 3.14 * self.radius
# 测试类
if __name__ == '__main__':
shape1 = Triangle(3, 4, 5)
shape2 = Rectangle(2, 3)
shape3 = Circle(1)
print("三角形的周长:", shape1.length())
print("长方形的周长:", shape2.length())
print("圆形的周长:", shape3.length())
```
这个代码实现了一个Shape类,里面定义了一个求周长的方法length()。Triangle、Rectangle、Circle这三个类分别继承了Shape类,并重写了length()方法。测试类ShapeTest中创建了这三个类的对象,并调用它们的length()方法来输出周长。这样,我们就可以通过增加新的继承Shape类的类来扩展代码。
阅读全文