给定了一个四边形类 Quadrilateral,请定义一个梯形类Trapezoid,并继承Quadrilateral类,重写构造方法和 area 方法实现求梯形的面积。
时间: 2023-08-18 11:05:04 浏览: 191
6.类的继承
下面是一个梯形类Trapezoid的实现:
```python
class Quadrilateral:
def __init__(self, a, b, c, d):
self.a = a
self.b = b
self.c = c
self.d = d
class Trapezoid(Quadrilateral):
def __init__(self, base1, base2, height, side1, side2):
super().__init__(base1, base2, side1, side2)
self.height = height
def area(self):
return (self.a + self.b) * self.height / 2
```
在上面的代码中,我们定义了一个父类 Quadrilateral 和一个子类 Trapezoid,并让 Trapezoid 继承 Quadrilateral。父类中有四个属性 a、b、c、d 分别表示四边形的四条边,子类中新增一个属性 height 表示梯形的高。
在构造方法中,我们调用了父类的构造方法,并传入了四个参数 base1、base2、side1、side2,这四个参数分别表示梯形的上底、下底和两边的长度。然后通过 super() 函数调用父类的构造方法,初始化 Quadrilateral 类中的属性 a、b、c、d。
在 Trapezoid 类中,我们重写了 area() 方法,计算梯形的面积并返回。根据梯形的面积公式,我们可以使用上底和下底的平均值乘以高来计算梯形的面积。
阅读全文