定义一个图形类Picture,再定义Picture的两个子类:圆形类Circle、矩形类Rect。 要求: (1)图像类:包含图像名和长度属性(10分),有求周长和求面积和显示图形信息的功能(30分)。 (2)圆形类:重写求周长和求面积的方法(20分)。 (3)正方形类:重写求周长和求面积的方法,测试类: 调用图像类方法,输出正方形图形信息为:“正方形边长为10”,调用正方形类重写的面积方法,求出正方形面积,并输出“面积为100.0”
时间: 2024-03-06 19:52:01 浏览: 82
好的,这是一个面向对象的编程题目,我可以帮您解答。下面是代码实现:
```
class Picture:
def __init__(self, name, length):
self.name = name
self.length = length
def get_perimeter(self):
pass
def get_area(self):
pass
def show_info(self):
print("{}的长度为{}".format(self.name, self.length))
class Circle(Picture):
def __init__(self, name, length, radius):
super().__init__(name, length)
self.radius = radius
def get_perimeter(self):
return 2 * 3.14 * self.radius
def get_area(self):
return 3.14 * self.radius ** 2
class Rect(Picture):
def __init__(self, name, length, width):
super().__init__(name, length)
self.width = width
def get_perimeter(self):
return 2 * (self.length + self.width)
def get_area(self):
return self.length * self.width
if __name__ == '__main__':
rect = Rect("正方形", 10, 10)
rect.show_info()
print("面积为{}".format(rect.get_area()))
```
首先定义了一个Picture类作为父类,包含图像名和长度属性,还有求周长和求面积和显示图形信息的功能。Circle和Rect继承自Picture,并且重写了求周长和求面积的方法。最后在测试类中,调用了图像类的方法,输出了正方形图形信息,调用了正方形类重写的面积方法,求出正方形面积,并输出了结果。
输出结果为:
```
正方形的长度为10
面积为100
```
阅读全文