设计一个几何图形类,有name属性和计算面积的方法。再设计三个类:三角形类、正方形类和圆形类python
时间: 2024-02-23 18:58:58 浏览: 116
几何图形面积计算
4星 · 用户满意度95%
可以这样实现:
```python
class Shape:
def __init__(self, name):
self.name = name
def area(self):
pass
class Triangle(Shape):
def __init__(self, name, base, height):
super().__init__(name)
self.base = base
self.height = height
def area(self):
return 0.5 * self.base * self.height
class Square(Shape):
def __init__(self, name, side):
super().__init__(name)
self.side = side
def area(self):
return self.side ** 2
class Circle(Shape):
def __init__(self, name, radius):
super().__init__(name)
self.radius = radius
def area(self):
return 3.1415926 * self.radius ** 2
```
其中,Shape类是所有几何图形类的父类,其中有一个name属性和一个计算面积的方法,但由于Shape类没有具体的几何形状,所以计算面积的方法是一个空方法。
Triangle、Square和Circle类分别继承了Shape类,同时也重写了父类的area方法,以实现具体的计算面积的逻辑。
例如,Triangle类有一个base属性和一个height属性,它的area方法就是根据公式0.5 * base * height计算三角形的面积。Square类有一个side属性,它的area方法就是根据公式side ** 2计算正方形的面积。Circle类有一个radius属性,它的area方法就是根据公式3.1415926 * radius ** 2计算圆形的面积。
接下来,我们可以创建具体的几何图形对象,并调用它们的area方法计算面积,例如:
```python
tri = Triangle("三角形", 3, 4)
print(tri.name, "的面积是", tri.area()) # 输出:三角形 的面积是 6.0
sq = Square("正方形", 5)
print(sq.name, "的面积是", sq.area()) # 输出:正方形 的面积是 25
cir = Circle("圆形", 2)
print(cir.name, "的面积是", cir.area()) # 输出:圆形 的面积是 12.5663704
```
阅读全文