一个小型家具厂主要生产小凳子,形状或是圆柱体,或是由上中下三个圆柱体组成,如下图所示。参照图定义类Circle, Cylinder, Stool,根据类的数据成员定义类的构造方法(参数为数值类型)。
时间: 2024-10-24 07:16:23 浏览: 29
在设计这个场景的类结构时,我们可以创建三个相关的类:Circle、Cylinder 和 Stool。每个类将代表几何形状的不同部分或整个小凳子。下面是一个简单的Python示例:
```python
import math
class Circle:
def __init__(self, radius):
self.radius = radius
self.area = math.pi * radius ** 2
def describe(self):
return f"这是一个半径为{self.radius}厘米的圆形"
class Cylinder:
def __init__(self, top_radius, bottom_radius, height):
self.top_radius = top_radius
self.bottom_radius = bottom_radius
self.height = height
self.volume = (math.pi * (top_radius ** 2 + bottom_radius ** 2) * height) / 2
def describe(self):
return f"这是一个上底半径{self.top_radius}厘米、下底半径{self.bottom_radius}厘米、高{self.height}厘米的圆柱体"
class Stool:
def __init__(self, base_circle, middle_cylinder, top_cylinder):
self.base = base_circle
self.middle = middle_cylinder
self.top = top_cylinder
self.total_volume = self.base.volume + self.middle.volume + self.top.volume
def describe(self):
return f"这是一个由底座{self.base.describe()},中间{self.middle.describe()}和顶部{self.top.describe()}组成的凳子"
# 示例用法
base_circle = Circle(5)
middle_cylinder = Cylinder(4, 3, 10)
top_cylinder = Cylinder(3, 2, 7)
stool = Stool(base_circle, middle_cylinder, top_cylinder)
print(stool.describe())
```
在这个例子中,我们有`Circle`用于表示圆形部分,`Cylinder`表示圆柱形部分,而`Stool`则组合这两个形状并添加了额外的高度信息。每个类都有一个描述方法来显示其特性。
阅读全文