字段,就是直接取值赋值,而对于属性,则有set和get访问器,你可以自定义取值赋值的操作。也可以认为属性是两个方法,一个为取值一个为赋值,取值的方法是无参数、返回值为属性类型的,赋值的方法是参数为属性类型、无返回值的
字段只能是即能赋值又能取值,要么即不能赋值也不能取值,而属性更灵活,可以设置只读或者只写(只写一般不常用)
通常字段是 private,内部使用。属性是 public 对外公开,属性通过 get set 访问器对字段提供安全、有效范围等保护。
其实属性就是对字段的封装
举个字段和属性的例子:
private int _number; //私有字段,外界不能读取
public int Number //公共属性,外界可读可写,同时改变时也会改变相应私有字段的值
{
get //get不带参函数,返回数据
{
return _number;
}
set //set设置数据
{
_number=value; //value关键字存储着用户赋的那个值