用python定义一个类:圆形,该类有半径属性,获取周长,面积等方法,将半径隐藏起来,将周长与面积开放获取。
时间: 2023-12-11 21:02:32 浏览: 88
python计算圆周长、面积、球体体积并画出圆
5星 · 资源好评率100%
好的,以下是Python中定义一个圆形类的例子,实现了半径属性的封装和周长、面积的开放获取:
```python
import math
class Circle:
def __init__(self, radius):
self.__radius = radius
def get_perimeter(self):
return 2 * math.pi * self.__radius
def get_area(self):
return math.pi * self.__radius ** 2
def set_radius(self, radius):
self.__radius = radius
```
在这个类中,我使用 `__init__()` 方法来初始化圆形对象,将半径作为参数传递进去,并将其存储在私有属性 `__radius` 中,实现了半径属性的封装。然后,我使用 `get_perimeter()` 和 `get_area()` 方法来获取周长和面积,这两个方法都是公共方法,可以被外部访问。最后,我使用 `set_radius()` 方法来设置圆形的半径,这个方法也是公共方法,可以被外部访问。
使用这个类的例子:
```python
circle = Circle(3)
print("Perimeter:", circle.get_perimeter())
print("Area:", circle.get_area())
circle.set_radius(4)
print("Perimeter:", circle.get_perimeter())
print("Area:", circle.get_area())
```
在这个例子中,我创建了一个名为 `circle` 的圆形对象,半径为 3。然后我分别调用 `get_perimeter()` 和 `get_area()` 方法来获取周长和面积,并打印出结果。接着,我使用 `set_radius()` 方法将圆形的半径设置为 4,再次调用 `get_perimeter()` 和 `get_area()` 方法来获取更新后的周长和面积,并打印出结果。
输出结果为:
```
Perimeter: 18.84955592153876
Area: 28.274333882308138
Perimeter: 25.132741228718345
Area: 50.26548245743669
```
可以看到,我的圆形类定义和使用都运行良好。
阅读全文