设计一个名为Triangle的类来扩展GeometricObject类。该类包括: (1)三个名为side1、side2、side3的数据域表示这个三角形的三条边,它们的默认值是1.0。 (2)一个能创建带指定side1、side2和side3的三角形的构造方法。 (3)一个名为getArea()的方法返回这个三角形的面积。 (4)一个名为getPerimeter()的方法返回这个三角形的周长。 (5)定义一个方法,用于返回这个三角形的字符串描述。
时间: 2024-03-07 22:48:12 浏览: 158
西南科技大学Java程序设计与实践 实验三 类的继承与多态的应用
5星 · 资源好评率100%
好的,我们可以定义一个Triangle类,继承自GeometricObject类,来实现这些功能。可以参考下面的代码实现:
```python
class Triangle(GeometricObject):
def __init__(self, side1=1.0, side2=1.0, side3=1.0, color="white", filled=False):
super().__init__(color, filled)
self.side1 = side1
self.side2 = side2
self.side3 = side3
def getArea(self):
p = self.getPerimeter() / 2
return (p * (p - self.side1) * (p - self.side2) * (p - self.side3)) ** 0.5
def getPerimeter(self):
return self.side1 + self.side2 + self.side3
def __str__(self):
return "Triangle with sides {}, {} and {}".format(self.side1, self.side2, self.side3)
```
在这个类中,我们继承了GeometricObject类,并新增了三个属性side1、side2、side3来表示三角形的三条边。在__init__方法中,我们调用了父类的__init__方法来初始化color和filled字段,并对side1、side2、side3进行初始化。在getArea和getPerimeter方法中,我们使用三个边长计算出三角形的面积和周长。在__str__方法中,我们返回一个字符串,用于描述这个三角形的三个边长。
阅读全文