设计一个行星类。每个行星都有一个名称、半径、质量和离太阳的距离。要求设计: (1)分别设计四个属性名称、半径、质量和离太阳的距离的访问器方法和修改器方法。 (2)设计一个方法返回行星的体积。 (3)设计一个
时间: 2024-11-22 17:35:46 浏览: 24
使用Three.js实现太阳系八大行星的自转公转示例代码
在Python中,我们可以创建一个名为`Planet`的类来代表行星,包含所需的属性和方法。以下是相应的实现:
```python
class Planet:
def __init__(self, name, radius, mass, distance_from_sun):
self.name = name
self.radius = radius
self.mass = mass
self.distance_from_sun = distance_from_sun
# 访问器方法(getter)
def get_name(self):
return self.name
def get_radius(self):
return self.radius
def get_mass(self):
return self.mass
def get_distance_from_sun(self):
return self.distance_from_sun
# 修改器方法(setter)
def set_name(self, new_name):
self.name = new_name
def set_radius(self, new_radius):
self.radius = new_radius
def set_mass(self, new_mass):
self.mass = new_mass
def set_distance_from_sun(self, new_distance):
self.distance_from_sun = new_distance
# 计算体积的方法(假设星球形状近似为球体)
def calculate_volume(self):
import math
return (4/3) * math.pi * (self.radius**3)
# 示例
earth = Planet("地球", 6371, 5.97e24, 149.6e6)
print(earth.get_name()) # 输出 "地球"
print(earth.calculate_volume()) # 输出 地球的体积(近似值)
# 更改属性并查看更新后的体积
earth.set_radius(6378) # 地球的实际平均半径
new_volume = earth.calculate_volume()
```
阅读全文