定义一个 Shape 基类,并派生出圆球体(Sphere) 和立方体类(Cube), 分别求圆球体 与立方体对象的表面积和体积,并输出。
时间: 2024-10-13 18:17:40 浏览: 52
好的,首先我们定义一个基础形状类 `Shape`,然后派生出两个子类 `Sphere` (表示圆球体) 和 `Cube` (表示立方体),这两个子类会各自计算自身的表面积和体积。假设我们在二维空间中计算,因为立方体和平面无关,所以只讨论圆球体。
```python
class Shape:
def __init__(self):
pass
def calculate_volume(self):
raise NotImplementedError("Subclasses should implement this method")
def calculate_surface_area(self):
raise NotImplementedError("Subclasses should implement this method")
class Sphere(Shape):
def __init__(self, radius):
self.radius = radius
def calculate_volume(self):
return 4/3 * 3.14159 * (self.radius ** 3)
def calculate_surface_area(self):
return 4 * 3.14159 * (self.radius ** 2)
class Cube(Shape):
def __init__(self, side_length):
self.side_length = side_length
def calculate_volume(self):
return self.side_length ** 3
def calculate_surface_area(self):
return 6 * (self.side_length ** 2)
# 示例如何计算
sphere = Sphere(5)
cube = Cube(3)
print(f"Sphere volume: {sphere.calculate_volume():.2f}")
print(f"Sphere surface area: {sphere.calculate_surface_area():.2f}")
print(f"Cube volume: {cube.calculate_volume():.2f}")
print(f"Cube surface area: {cube.calculate_surface_area():.2f}")
阅读全文