为什么需要封装呢?
封装的目的是使类型安全、易用。需要的成员才暴露给使用者,不需要的保护起来。
封装的好处:
保证数据安全性(封装可以为别人提供相应的功能,可不为别人显示相应的代码)
提供清晰的对外接口
类内部实现可以任意修改,不影响其他类(可复用性,灵活性,安全性,扩展性 )
用属性实现字段封装:
private string _name;
public string Name
{
get {return _name;}
set{_name = value;}
}
get 访问器用来返回相应的私有字段的值。get访问器与方法相似,必须用return语句返回字段的值。执行get访问器相当于读取类中私有字段的值。
set字段用来设定相应的私有字段的值。set访问器类似于返回类型为void的方法。它使用一个隐含的输入参数value。当对属性赋值时,将会调用set访问器,并将新的参数值赋予对应的字段。
定义类中一个属性时,属性的数据类型必须与它所访问的字段类型一致。例如年龄字段_age时整形,那么,它的属性Age也必须时整形的。
属性的访问类型分为三种:
只读属性,只包含get访问器
只写属性,只包含set访问器
读写属性,包含get和set访问器