getter/setter方法
时间: 2023-09-20 20:11:18 浏览: 120
Getter 和 Setter 方法是面向对象编程中常用的方法,它们通常用于访问和修改对象的私有属性。
Getter 方法通常用于获取对象的私有属性值,它们是一种用于访问私有属性的公共方法。Getter 方法通常没有参数,并且返回私有属性的值。
Setter 方法通常用于修改对象的私有属性值,它们是一种用于修改私有属性的公共方法。Setter 方法通常有一个参数,表示要修改的属性的值,它们通常不返回任何值。
Getter 和 Setter 方法的命名通常遵循一种约定,即Getter 方法的名称通常以 get 开头,后面跟着私有属性的名称,而Setter 方法的名称通常以 set 开头,后面跟着私有属性的名称。
例如,如果有一个类包含一个私有属性 name,那么它的 Getter 和 Setter 方法可能如下所示:
```
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
```
在这个例子中,getName() 方法用于获取 name 属性的值,而 setName() 方法用于设置 name 属性的值。由于 name 属性是私有的,因此它只能通过这些公共方法进行访问和修改。
相关问题
getter/setter方法快捷键
在Java中,可以使用快捷键Alt+Insert来自动生成getter和setter方法。在Eclipse中,也可以使用快捷键Ctrl+Shift+G来生成getter和setter方法。在IntelliJ IDEA中,可以使用快捷键Alt+Insert或者Ctrl+N来生成getter和setter方法。
getter/setter方法是什么
Getter 和 Setter 方法是在面向对象编程语言中用来访问和修改私有成员的一种常见手段。它们提供了一种受控的方式来获取(读取)或设置(写入)一个对象内部的状态,而不直接暴露这个状态给外界。这种方式有助于保护数据的安全性和完整性,并允许我们在存取属性时插入额外的逻辑检查或其他功能。
在 Python 中虽然不像 Java 或 C++ 那样强制需要定义 Getter 和 Setter 函数来封装变量,但我们仍然可以通过 `@property` 装饰器以及对应的 setter 来实现类似的功能。下面是一个简单的例子说明如何在Python类内创建 Getter 及 Setter :
```python
class Person:
def __init__(self, name=""):
self._name = name # 私有的实例变量名前加下划线表明它不应该被外部程序直接访问
@property # 定义 getter 方法用于读取 _name 属性值
def name(self):
print("Getting Name")
return self._name
@name.setter # 定义 setter 方法用于安全地设置新的名字同时可以加入验证规则等附加逻辑
def name(self, value):
if isinstance(value, str) and len(value.strip()) > 0:
print(f"Setting Name to '{value}'")
self._name = value.title()
else:
raise ValueError('Name must not be empty and only contain letters')
person_obj = Person()
# 使用 getter 访问名称
print(person_obj.name)
# 使用 setter 修改名称
try:
person_obj.name = "John Doe"
except Exception as e:
print(e)
print(person_obj.name)
```
在这个案例中:
- 当尝试从 `Person` 对象获得 `name` 属性时会调用由 `@property` 标记的方法;
- 同理当试图赋予一个新的字符串给 `name` 成员时则会被定向至通过 `@name.setter` 指定的方法进行赋值操作并在此过程中加入了输入校验。
- 这样的设计不仅保持了良好的封装性,而且还可以方便地添加诸如日志记录、边界条件判断等功能点。
阅读全文
相关推荐

















