设计形状类、圆类、长方形类,要求: (1)形状类包含name属性、show()方法、getArea()方法 (2)圆类和长方形类继承形状类,覆盖形状类的相关方法。 (3)测试输出。
时间: 2023-06-01 20:04:58 浏览: 123
好的,关于你的问题:设计形状类、圆类、长方形类,要求: (1)形状类包含name属性、show()方法、getArea()方法 (2)圆类和长方形类继承形状类,覆盖形状类的相关方法。 (3)测试输出。 我可以回答,以下是示例代码:
```
class Shape:
def __init__(self, name):
self.name = name
def show(self):
print("I am a", self.name)
def getArea(self):
pass
class Circle(Shape):
def __init__(self, r):
super().__init__("circle")
self.r = r
def show(self):
super().show()
print("My radius is", self.r)
def getArea(self):
return 3.14 * self.r ** 2
class Rectangle(Shape):
def __init__(self, l, w):
super().__init__("rectangle")
self.l = l
self.w = w
def show(self):
super().show()
print("My length is", self.l, "and my width is", self.w)
def getArea(self):
return self.l * self.w
# 测试输出
c = Circle(5)
c.show()
print("The area of the circle is", c.getArea())
r = Rectangle(3, 4)
r.show()
print("The area of the rectangle is", r.getArea())
```
这个代码会输出:
```
I am a circle
My radius is 5
The area of the circle is 78.5
I am a rectangle
My length is 3 and my width is 4
The area of the rectangle is 12
```
阅读全文