对实现者来说像方法

对调用者来说像字段

可以将属性看成一种智能字段,属性就是字段与方法的扩展。

面向对象的一个原则就是数据封装,所以不能将字段以公有方式提供给外界。


字段与属性(c#)_字段


就像上面例子不能给年龄赋负数,而不使用属性要给外界提供私有字段就得写两个get set 方法,用属性的话虽然使类型定义变得复杂了,但代码写起来却改善了许多。