字段
字段主要为类的内部做数据交互使用,字段一般为private。
字段可以赋值,可取值。
当字段需要为外部提供数据时,请将字段封装为属性,而不是使用公有字段,这是面向对象所提倡的。
属性
属性其实是外界访问私有字段的入口,属性本身不保存任何数据。
给属性赋值,其实就是给属性的私有字段赋值;读取属性,其实是获取属性指向的私有字段或其他值。
属性一般是向外部提供数据,主要用来描述对象的静态特征,所以属性一般是public的。
属性可以根据需要设置为只读、只写,提高数据安全性。只读属性没有set方法。
属性内部可以添加需要的逻辑,从而避免非法数据。
自动属性
不能直接操作私有字段
不能设置只读只写
不能添加验证逻辑