Property与Attribute

Property和Attribute通常都被翻译为“属性”,其实二者所表达的不是一个层面的东西。

Property属于面向对象理论的范畴。在使用面向对象思想编程的时候,需要对客观事物进行抽象,再把抽象出来的结果封装成类,类中用来表示事物状态的成员就是Property。比如抽象一辆汽车,则Car.Length,Car.Height等就是Property,表示汽车当前的一种状态。总之Property是针对对象而言的。

Attribute则是编程语言文法层面的东西。比如有两个类A和B,为了表示A和B不完全相同或者A和B在用法上有些区别,这时候就要针对A和B加一些Attribute。也就是说Attribute只与语言层面上的东西有关,而与抽象出来的对象没有什么关系。Attribute是为了表示的区分,把它翻译为“特征”更合适。

Attribute是语言层面的东西,是给编译器看的,Property是面向对象层面的东西,是给编程逻辑用的。

                                                      ----------摘自《深入浅出WPF》

原文地址:https://www.cnblogs.com/yijiaoyingbi/p/4832340.html