跳转到内容

面向对象编程/属性

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

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

另请参见

[编辑 | 编辑源代码]
华夏公益教科书