1、不封装的缺点:当一个类把自己的属性暴露给外部的时候,该类就失去对属性的管理权
封装:将数据隐藏起来,只能用此类的方法函数才可以访问或者设置数据,不可被外部任意存储是面向对象的本质,降低了数据被无用的可能性。
2、封装的原理
实例变量默认只能被当前类的对象方法访问
3、封装的步骤
定义设置实例变量(setter)方法和访问实例变量(getter)的方法。
4、setter方法(设置器)
使用Set方法为对象提供成员变量的值,在set方法的内部可以对一些不合理的赋值进行筛选过滤。
set方法的作用:为外界提供一个设置成员变量值的方法。
命名规范:
1)、方法名必须以set开头;
2)、set后面跟上成员变量的名称(去掉下划线),首字母大写;
3)、返回值一定是void;
4)、一定要接收一个参数,且参数类型需要和成员变量的类型一致;
5)、形参名(一般是去掉下划线的成员变量名)不能和成员变量名一样
6)、set方法一定是一个对象方法
7)、set方法实现中一定用形参给实例变量赋值
set方法的好处:
1)、不让数据暴露在外,保证了数据的安全性
2)、对设置的数据进行过滤
5、getter方法
get方法的作用:为调用者返回对象内部的成员变量。get方法一定是一个对象方法。
命名规范:
1)、一定有返回值,返回值的类型和成员变量的类型一致
2)、方法名(去掉下划线的实例变量名)和成员变量名一样
3)、不需要接收任何参数
4)、get方法的实现中,一定是返回实例变量值 |
|