在变量的选择上有两种:1.属性;2.数据成员。
A.可维护性
需要对某一变量的赋值进行验证,属性只需在Setter中做验证,数据成员需查找每一赋值的代码,逐一修改。
B.修饰符
属性可以为虚的或者抽象的,在接口或者抽象类中定义。
C.索引器
可使用属性做索引器
D.效率
属性的效率肯定是没有数据成员效率高,但也不会低多少,JIT内联了一些方法调用,包括属性访问器。所以差别只在于一次函数调用。