实现一个圆柱体类,类中包含私有数据成员半径和高;包含设置圆柱体半径和高、计算圆柱体体积;获取圆柱体半径、高、圆柱体体积的成员函数;能够对数据有效性进行判断处理。编写主函数测试类的使用。
时间: 2024-12-24 15:22:34 浏览: 3
在Python中,我们可以创建一个名为"Cylinder"的类来实现这个需求。以下是类的结构:
```python
class Cylinder:
def __init__(self):
self.__radius = 0.0
self.__height = 0.0
# 设置圆柱体半径和高,并检查输入有效性
def set_radius(self, radius):
if radius > 0:
self.__radius = radius
else:
raise ValueError("Radius must be a positive number.")
def set_height(self, height):
if height > 0:
self.__height = height
else:
raise ValueError("Height must be a positive number.")
# 计算圆柱体体积并返回结果
def calculate_volume(self):
return math.pi * (self.__radius ** 2) * self.__height
# 获取圆柱体属性(私有变量需通过getter方法访问)
@property
def radius(self):
return self.__radius
@property
def height(self):
return self.__height
@property
def volume(self):
return self.calculate_volume()
# 测试类的使用
def main():
cylinder = Cylinder()
try:
cylinder.set_radius(5)
cylinder.set_height(7)
print(f"Radius: {cylinder.radius}, Height: {cylinder.height}")
print(f"Volume: {cylinder.volume}")
except ValueError as e:
print(e)
if __name__ == "__main__":
main()
```
在这个例子中,我们定义了一个`Cylinder`类,它有两个私有变量`__radius`和`__height`表示半径和高度。类提供了一系列方法用于设置和获取属性值,并在设置过程中进行了数值的有效性检查。主函数`main()`展示了如何实例化这个类并进行操作。
阅读全文