跳轉到內容

面向物件程式設計/屬性

來自華夏公益教科書,開放的書籍,開放的世界

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

另請參見

[編輯 | 編輯原始碼]
華夏公益教科書