跳转到内容

面向对象编程/获取器和设置器

来自维基教科书,开放书籍,开放世界

获取器和设置器(也分别称为访问器和修改器方法)是两种用于控制对类属性(也称为属性或成员变量)的访问和修改的方法。

获取器

[编辑 | 编辑源代码]

获取器方法用于获取私有或受保护的类属性的值。它提供对属性的只读访问,允许程序的其他部分检索其值,而无需直接访问该属性。通过使用获取器,您可以控制如何访问属性,并在返回该值之前应用任何必要的逻辑或验证。


在大多数编程语言中,获取器方法的命名约定是在其前缀加上“get”,然后是属性名称。例如,如果您有一个私有属性age,则相应的获取器方法通常命名为getAge()

class Person:

    def __init__(self, name, age):

        self._name = name

        self._age = age

    def getAge(self):

        return self._age

# Usage

person = Person("John Doe", 25)

print(person.getAge())  # Output: 25

设置器

[编辑 | 编辑源代码]

设置器方法用于修改私有或受保护的类属性的值。它提供一种更新属性的方法,同时在进行更改之前强制执行任何必要的约束或验证规则。通过使用设置器,您可以控制如何修改属性,并防止任何不当的更改。

在大多数编程语言中,设置器方法的命名约定是在其前缀加上“set”,然后是属性名称。例如,如果您有一个私有属性age,则相应的设置器方法通常命名为setAge()

class Person:
    def __init__(self, name, age):
        self._name = name
        self._age = age

    def setAge(self, new_age):
        if new_age >= 0:
            self._age = new_age

# Usage
person = Person("John", 25)
person.setAge(30)
print(person.getAge())  # Output: 30

person.setAge(-5)  # The age will not be updated because of the validation in the setter method
print(person.getAge())  # Output: 30 (age remains unchanged)
华夏公益教科书