6-2 从shape类派生出一个直角三角形类RTriangle 分
时间: 2023-07-15 07:15:18 浏览: 107
好的,以下是从Shape类派生出的直角三角形类RTriangle的Python代码示例:
```python
class Shape:
def __init__(self, x, y):
self.x = x
self.y = y
class RTriangle(Shape):
def __init__(self, x, y, base, height):
super().__init__(x, y)
self.base = base
self.height = height
def area(self):
return 0.5 * self.base * self.height
def perimeter(self):
return self.base + self.height + math.sqrt(self.base ** 2 + self.height ** 2)
triangle = RTriangle(0, 0, 3, 4)
print("Triangle area:", triangle.area())
print("Triangle perimeter:", triangle.perimeter())
```
在这个例子中,我们从Shape类派生出了一个RTriangle类。RTriangle类有四个属性:x和y表示三角形左上角的坐标,base和height表示三角形的底和高。它还有两个方法:area()用于计算三角形的面积,并返回结果;perimeter()用于计算三角形的周长,并返回结果。
我们通过调用RTriangle类的构造函数来创建一个新的三角形对象。然后,我们使用area()和perimeter()方法来计算三角形的面积和周长。在这个例子中,我们创建一个底为3,高为4的三角形对象,并计算它的面积和周长。最后,我们将结果打印到控制台上。
阅读全文