属性其实本质是一个方法(1)只有属性才可以数据绑定,字段不可以
(2)可以添加日志、校验等逻辑,可以拦截字段的修改
(3)可以实现懒惰数据加载提高性能
(4)可以通过多个属性修改一个字段,或者将一个字段的数据通过几个属性表现出来(比如位置是一个Point对象,但是你可以将它拆成x y两个属性,比如字体是一个字段,你可以拆出字体、字号等属性,再比如用二进制掩码表示一系列bool值,等等)
(5)可以代替方法。比如说Timer的Start Stop两个方法,被封装成Enabled属性
(6)可以为读写设置不同的访问级别,可以创建只读的属性