面向物件程式設計/獲取器和設定器
外觀
< 面向物件程式設計
| 此頁面或部分是一個未開發的草稿或大綱。 您可以幫助完善作品,或者您可以在專案室尋求幫助。 |
獲取器和設定器(也分別稱為訪問器和修改器方法)是兩種用於控制對類屬性(也稱為屬性或成員變數)的訪問和修改的方法。
獲取器方法用於獲取私有或受保護的類屬性的值。它提供對屬性的只讀訪問,允許程式的其他部分檢索其值,而無需直接訪問該屬性。透過使用獲取器,您可以控制如何訪問屬性,並在返回該值之前應用任何必要的邏輯或驗證。
在大多數程式語言中,獲取器方法的命名約定是在其字首加上“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)