作者:史蒂芬
链接:https://www.zhihu.com/question/30111950/answer/143155895
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
其实老外也经常混着用,没去仔细区分它们区别。
如果有点编程的知识,可能会更加理解这两个词的意思。
英文系统里,右键单击一个文件,显示是property(中文系统里对应的是"属性“),会显示文件的大小、创建日期等等,这些你是没办法去改变的(当然,你也可以改,但是改就是另外一个文件)
而文件“只读”,“隐藏”是算在attribute的,你可以改变他的只读、隐藏属性,不过文件本身不会有变化。
所以这么理解,
property是 物体本身自带属性,不能改变的(一旦改了就是另外一个东西了)
attribute,由于 attribute还可以做动词,表示赋予。。。特性,属于人为赋予的可改变的属性。
比如,你的头发,可以人为拉直、弯曲,但不管怎么样,都是你的头发,这叫做头发的attribute。
但是头发的弹性、硬度,这些没办法改变,改了就不是头发了,这是property.
房子的装修叫attribute
房子的面积 材料叫 property