面向对象编程/属性
外观
< 面向对象编程
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