定义一个父类:形状类Shapes,里面有两个方法,分别是求面积和周长。 定义一个子类:矩形Rectangle,属性:长width和高heigh 定义一个子类:圆 Circle,属性:半径radium 创建矩形、圆对象,计算面积并输出。{'width': 10, 'heigh': 20} area=200.00 perimetera=60.00 {'r': 10} area=314.00 perimetera=62.80
时间: 2024-03-16 09:44:30 浏览: 180
Leaflet.curve:一个用于绘制贝塞尔曲线和其他复杂形状的Leaflet插件
好的,这是一个比较典型的面向对象的继承题目,我可以为您提供Python语言的代码示例,如下所示:
```python
import math
class Shapes:
def area(self):
pass
def perimeter(self):
pass
class Rectangle(Shapes):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
def perimeter(self):
return 2 * (self.width + self.height)
class Circle(Shapes):
def __init__(self, radius):
self.radius = radius
def area(self):
return math.pi * self.radius ** 2
def perimeter(self):
return 2 * math.pi * self.radius
# 创建矩形对象
r = Rectangle(10, 20)
area_r = r.area()
perimeter_r = r.perimeter()
# 输出矩形面积和周长
print({'width': r.width, 'heigh': r.height}, f'area={area_r:.2f}', f'perimetera={perimeter_r:.2f}')
# 创建圆对象
c = Circle(10)
area_c = c.area()
perimeter_c = c.perimeter()
# 输出圆面积和周长
print({'r': c.radius}, f'area={area_c:.2f}', f'perimetera={perimeter_c:.2f}')
```
输出结果为:
```
{'width': 10, 'heigh': 20} area=200.00 perimetera=60.00
{'r': 10} area=314.16 perimetera=62.83
```
希望能够帮到您。
阅读全文