用python 定义基本几何图形类Shape,Shape类的对象方法有:求面积方法 area(); 求周长方法 length(); 球体积方法 volume(); 输出图形的信息方法toString( )。圆形类Circle继承图形类Shape,并修改下面的方法:求面积方法 area(); 求周长方法 length(); 球体积方法 volume(); 输出图形的信息方法toString( )。三角形类Triange继承图形类Shape,并修改下面的方法:求面积方法 area(); 求周长方法 length(); 球体积方法 volume(); 输出图形的信息方法toString( )。圆柱体类Cylinder继承图形类Shape,并修改下面的方法:求面积方法 area(); 求周长方法 length(); 球体积方法 volume(); 输出图形的信息方法toString( )。上面的类都有构造函数。最后每个类都创建一个对象,并调用这些对象的toString( )方法
时间: 2024-03-26 20:39:36 浏览: 166
好的,下面是用Python定义这些类的代码:
```python
import math
class Shape:
def area(self):
pass
def length(self):
pass
def volume(self):
pass
def __str__(self):
pass
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return math.pi * self.radius ** 2
def length(self):
return 2 * math.pi * self.radius
def volume(self):
return 0
def __str__(self):
return f"圆形,半径为{self.radius}"
class Triangle(Shape):
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def area(self):
p = (self.a + self.b + self.c) / 2
return math.sqrt(p * (p - self.a) * (p - self.b) * (p - self.c))
def length(self):
return self.a + self.b + self.c
def volume(self):
return 0
def __str__(self):
return f"三角形,边长分别为{self.a}、{self.b}、{self.c}"
class Cylinder(Shape):
def __init__(self, radius, height):
self.radius = radius
self.height = height
def area(self):
return 2 * math.pi * self.radius * self.height + 2 * math.pi * self.radius ** 2
def length(self):
return 2 * math.pi * self.radius
def volume(self):
return math.pi * self.radius ** 2 * self.height
def __str__(self):
return f"圆柱体,底面半径为{self.radius}、高为{self.height}"
```
然后我们创建每个类的对象,并调用它们的`__str__()`方法:
```python
c = Circle(5)
print(c)
t = Triangle(3, 4, 5)
print(t)
cy = Cylinder(3, 4)
print(cy)
```
输出结果分别为:
```
圆形,半径为5
三角形,边长分别为3、4、5
圆柱体,底面半径为3、高为4
```
阅读全文