设计一个几何图形类,有name属性和计算面积的方法。再设计三个类:三角形类、正方形类和圆形类
时间: 2024-03-07 20:49:24 浏览: 24
好的,这是一个关于几何图形类及其子类的问题,我已经记下来了。下面是该类及其三个子类的代码实现:
```python
import math
class Geometry:
def __init__(self, name):
self.name = name
def area(self):
pass
class Triangle(Geometry):
def __init__(self, name, base, height):
super().__init__(name)
self.base = base
self.height = height
def area(self):
return self.base * self.height / 2
class Square(Geometry):
def __init__(self, name, side):
super().__init__(name)
self.side = side
def area(self):
return self.side ** 2
class Circle(Geometry):
def __init__(self, name, radius):
super().__init__(name)
self.radius = radius
def area(self):
return math.pi * self.radius ** 2
```
其中,`Geometry`类有一个`name`属性和一个`area`方法,用于表示几何图形的名称和计算面积的方法。`Triangle`类、`Square`类和`Circle`类继承自`Geometry`类,并且分别有额外的属性和方法。`Triangle`类有`base`和`height`两个属性,用于表示三角形的底和高;`Square`类有`side`属性,用于表示正方形的边长;`Circle`类有`radius`属性,用于表示圆形的半径。这三个子类都覆盖了`Geometry`类中的`area`方法,用于计算各自几何图形的面积。