Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop “类”与“类”的区别是什么;属性";及;财产;?_Oop_Properties_Attributes - Fatal编程技术网

Oop “类”与“类”的区别是什么;属性";及;财产;?

Oop “类”与“类”的区别是什么;属性";及;财产;?,oop,properties,attributes,Oop,Properties,Attributes,有人能仔细描述一下“属性”和“属性”之间的细微差别吗?我发现它们有时可以互换使用,也可以作为其他产品的区别 在大多数情况下,属性和属性术语是同义词(也是成员,字段),尽管属性通常被(、、等)用来描述“虚拟属性”,而“虚拟属性”实际上是由get/set方法实现的(而属性用于常规属性) 例如(类似python的伪代码): 这里我们有两个“真实”属性-名字属性和姓氏属性和一个“虚拟”属性-全名 class MyClass: string first_name_attribute; s

有人能仔细描述一下“属性”和“属性”之间的细微差别吗?我发现它们有时可以互换使用,也可以作为其他产品的区别

在大多数情况下,
属性
属性
术语是同义词(也是
成员
字段
),尽管
属性
通常被(、、等)用来描述“虚拟属性”,而“虚拟属性”实际上是由get/set方法实现的(而
属性
用于常规属性)

例如(类似python的伪代码):

这里我们有两个“真实”属性-
名字属性
姓氏属性
和一个“虚拟”属性-
全名

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