定义一个Shape基类,并派生出圆球体(Sphere)和立方体类(Cube),分别求圆球体与立方体对象的表面积和体积。
时间: 2024-01-15 13:03:15 浏览: 128
声明一个图形基类并在它的基础上派生出其他类并编写程序实现各类的定义及实现
好的,下面是基类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类的表面积和体积计算使用了立方体的公式。
阅读全文