面向物件程式設計/屬性
外觀
< 面向物件程式設計
OOP 中的屬性也可以看作函式,屬性包含一個函式,該函式可以在不直接進入程式碼並編輯程式碼的情況下修改其過程或變數。 屬性可以根據使用者輸入進行更改或更新,這允許許多使用者互動式程式和應用程式。'
在 Python 中,property 關鍵字允許你為類屬性定義 getter、setter 和 deleter 方法,使它們的行為像屬性一樣。 這使你能夠控制對類屬性的訪問和修改,同時為外部程式碼提供簡潔的介面。 例如,我們使用 @property 裝飾器來建立每個屬性的 getter 方法,允許我們使用 obj.attribute1 來訪問這些屬性。
class MyClass:
def __init__(self, attribute1, attribute2):
self._attribute1 = attribute1
self._attribute2 = attribute2
@property
def attribute1(self):
return self._attribute1
@attribute1.setter
def attribute1(self, value):
# Perform any validation or custom logic here
self._attribute1 = value
# Usage example
obj = MyClass("Value 1", "Value 2")
print("Attribute 1:", obj.attribute1)
#Using property to add in new values
obj.attribute1 = "New Value 1"
print("Updated Attribute 1:", obj.attribute1)
sss
class Animal:
def __init__(self, species, name, age):
self._species = species
self._name = name
self._age = age
# Getter methods
@property
def species(self):
return self._species
@property
def name(self):
return self._name
@property
def age(self):
return self._age
# Setter methods
@name.setter
def name(self, new_name):
self._name = new_name
@age.setter
def age(self, new_age):
self._age = new_age
# Other methods
def make_sound(self):
pass
def move(self):
pass