定义一个形状类Shape,由它派生3个子类:Circle类、Rectangle类和Triangle类,定义print_area()方法输出这3种图形的面积,这三种五星的数据在创建实例时给出
时间: 2023-07-10 21:25:42 浏览: 85
好的,这里是一个可能的实现:
```python
class Shape:
def __init__(self, *args):
self.args = args
def print_area(self):
pass
class Circle(Shape):
def print_area(self):
r = self.args[0]
area = 3.14 * r * r
print("圆形面积为:", area)
class Rectangle(Shape):
def print_area(self):
w, h = self.args
area = w * h
print("矩形面积为:", area)
class Triangle(Shape):
def print_area(self):
a, b, c = self.args
p = (a + b + c) / 2
area = (p * (p-a) * (p-b) * (p-c)) ** 0.5
print("三角形面积为:", area)
```
使用时,可以这样创建实例并调用 `print_area()` 方法:
```python
c = Circle(5)
r = Rectangle(3, 4)
t = Triangle(3, 4, 5)
c.print_area() # 输出:圆形面积为: 78.5
r.print_area() # 输出:矩形面积为: 12
t.print_area() # 输出:三角形面积为: 6.0
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)