请你用python写一个程序,在圆类的基础上,创建子类球类,为子类添加初始化方法,计算球的表面积和体积。保留两位小数
时间: 2024-11-27 07:23:50 浏览: 19
当然可以。首先,我们需要定义一个基础的`Circle`类,然后创建一个名为`Sphere`的子类,继承自`Circle`并添加特定于球体的属性和方法。以下是Python代码示例:
```python
import math
# 定义基础圆类
class Circle:
def __init__(self, radius):
self.radius = radius
# 计算圆的周长和面积
def circumference(self):
return 2 * math.pi * self.radius
def area(self):
return math.pi * (self.radius ** 2)
# 创建子类球类,继承自Circle
class Sphere(Circle):
def __init__(self, radius):
super().__init__(radius) # 调用父类的初始化方法
self.radius = radius
# 添加计算球体体积的方法
def volume(self):
return (4/3) * math.pi * (self.radius ** 3)
# 初始化方法,保留两位小数
@staticmethod
def round_two_decimal(num):
return round(num, 2)
# 示例
def main():
sphere = Sphere(5.0)
print(f"球的半径: {sphere.radius}")
print(f"球的表面积: {Sphere.round_two_decimal(sphere.area())}")
print(f"球的体积: {Sphere.round_two_decimal(sphere.volume())}")
if __name__ == "__main__":
main()
```
在这个例子中,我们首先定义了`Circle`类,包含半径和计算面积、周长的方法。然后在`Sphere`子类中,我们继承了`Circle`,添加了体积计算方法,并重写了父类的`__init__`方法,以存储球的半径。此外,我们还定义了一个静态方法`round_two_decimal`用于四舍五入到保留两位小数。
运行此程序,你会看到有关给定半径球体的表面积和体积的信息。
阅读全文