定义一个Shape基类,并派生出圆球体(Sphere)和立方体类(Cube),分别求圆球体与立方体对象的表面积和体积。
时间: 2024-01-15 08:03:15 浏览: 126
好的,下面是基类Shape的定义和派生类Sphere和Cube的实现。
```python
class Shape:
def area(self):
pass
def volume(self):
pass
class Sphere(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 4 * math.pi * self.radius ** 2
def volume(self):
return 4 / 3 * math.pi * self.radius ** 3
class Cube(Shape):
def __init__(self, length):
self.length = length
def area(self):
return 6 * self.length ** 2
def volume(self):
return self.length ** 3
```
其中基类Shape有两个虚函数area和volume,分别用于计算图形的表面积和体积,这里我们没有给出具体的实现。派生类Sphere和Cube分别继承了基类Shape,并实现了自己的area和volume函数。Sphere类的表面积和体积计算使用了球体的公式,Cube类的表面积和体积计算使用了立方体的公式。
阅读全文