用Pyhon面向对象的思路编写以个程序,要求创建一个对象图形和定义它的基类几何图形,子类三角形和矩形和定义它们的属性,对基类几何图形Figure使用基类几何图形Figure方法Area, 再让子类三角形Triangle去继承几何图形Figure,重写方法Area,再让子类矩形Rrctangle去继承几何图形Figure重写方法Area 再使用鸭子类型函数quadrature去传递基类参数Figure
时间: 2023-03-27 18:03:20 浏览: 153
pyhon面向对象
好的,我可以回答这个问题。以下是Python面向对象的思路编写的程序:
```python
class Figure:
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
class Triangle(Figure):
def area(self):
return .5 * self.width * self.height
class Rectangle(Figure):
def area(self):
return self.width * self.height
def quadrature(figure):
return figure.area()
# 创建一个矩形对象
rect = Rectangle(5, 10)
# 创建一个三角形对象
tri = Triangle(5, 10)
# 计算矩形的面积
print(quadrature(rect))
# 计算三角形的面积
print(quadrature(tri))
```
这个程序创建了一个基类Figure,它有两个属性width和height,以及一个计算面积的方法area。然后创建了两个子类Triangle和Rectangle,它们分别重写了基类的area方法。最后使用鸭子类型函数quadrature去传递基类参数Figure,计算矩形和三角形的面积。
阅读全文