getter和setter方法区别
时间: 2025-07-05 07:08:28 浏览: 9
### Getter 和 Setter 方法的区别
在面向对象编程中,Getter 和 Setter 方法扮演着不同的角色并具有各自的特点。
#### Getter 方法的作用
Getter 方法主要用于读取对象的属性值而不改变其状态。这允许开发者提供一种安全的方式让外界访问类内部的数据成员。通过定义特定逻辑来处理返回给调用者的数据之前的操作成为可能,比如格式化输出或者计算衍生值[^1]。
例如,在 Python 中可以通过 `@property` 装饰器创建 getter 函数:
```python
class Person:
def __init__(self, name):
self._name = name
@property
def name(self): # This is a getter method.
return f"Person's Name: {self._name}"
```
#### Setter 方法的功能
相比之下,Setter 方法负责更新或更改对象的状态。这意味着当其他部分程序想要修改某个实例变量时会经过此方法来进行设定。同样可以在 setter 内部加入额外校验机制确保新输入的有效性以及执行必要的业务规则检查[^2]。
下面是一个简单的例子展示了如何利用 property 来构建 setter 函数:
```python
class Temperature:
def __init__(self, celsius=0):
self.celsius = celsius
@property
def temperature_in_fahrenheit(self):
return (self.celsius * 9 / 5) + 32
@temperature_in_fahrenheit.setter
def set_temperature_from_fahrenheit(self, value):
if isinstance(value, (int, float)):
self.celsius = round((value - 32) * 5 / 9, 2)
else:
raise ValueError("Invalid input type.")
```
上述代码片段说明了怎样使用 setter 对象属性进行赋值的同时还能保持一定的灵活性和安全性[^4]。
阅读全文
相关推荐


















