要求建立3个继承container的派生类cube sphere 与cylinder
时间: 2024-12-24 11:24:22 浏览: 4
在面向对象编程中,你可以创建一个名为Container的基本类,然后让Cube、Sphere和Cylinder这三种形状作为其派生类。这样做可以使代码更具模块化,并允许它们共享相同的属性和行为,比如存储体积或者表面积等计算方法。下面是一个简单的Python示例:
```python
class Container:
def __init__(self, volume):
self.volume = volume
# 父类的通用方法,如计算总体积
def calculate_volume(self):
pass
# 派生类立方体
class Cube(Container):
def __init__(self, side_length):
super().__init__(side_length ** 3)
self.side_length = side_length
def calculate_volume(self):
return self.side_length ** 3
# 派生类球体
class Sphere(Container):
def __init__(self, radius):
super().__init__(4/3 * 3.14 * radius ** 3)
self.radius = radius
def calculate_volume(self):
return 4/3 * 3.14 * self.radius ** 3
# 派生类圆柱体
class Cylinder(Container):
def __init__(self, radius, height):
super().__init__(3.14 * radius * height)
self.radius = radius
self.height = height
def calculate_volume(self):
return 3.14 * self.radius * self.height
```
在这个例子中,`Cube`、`Sphere` 和 `Cylinder` 都从 `Container` 继承,并覆盖了 `calculate_volume` 方法来提供各自的体积计算。每个派生类有自己的初始化方法,设置特定形状的属性。
阅读全文