有人可以仔细描述"属性和#34;之间的细微差别。和"属性"?我发现它们有时可以互换使用,也可以作为别人的区别对象。
答案 0 :(得分:-1)
attribute
和property
字词在大多数情况下都是同义词(member
,field
),但property
通常是python ,C#,pascal等)用于描述"虚拟属性"实际上是通过get / set方法实现的(attribute
用于常规属性)。
例如(python-like pseudocode):
class MyClass:
string first_name_attribute;
string last_name_attribute;
@property
def full_name(self):
"""Getter method returns the virtual "full name"."""
return self.first_name_attribute + " " + self.last_name_attribute
@full_name.setter
def full_name(self, string value):
"""Setter method sets the virtual "full name"."""
first_name, last_name = value.split(" ")
self.first_name_attribute = first_name
self.last_name_attribute = last_name
这里有两个"真实"属性 - first_name_attribute
和last_name_attribute
以及"虚拟"财产 - full_name
。