封装的概念
通常情况下可以在测试类给成员变量赋一些合法但不合理的值,无论是编译阶段还是运行阶段都不会报错或者给出提示,此时与现实生活不符。
为了避免上述错误的发生,就需要对成员变量进行密封包装处理,来隐藏成员变量的细节以及保证成员变量数值的合理性,该机制就叫做封装。
封装的实现流程
私有化成员变量,使用private关键字修饰。
提供公有的get和set方法,并在方法体中进行合理值的判断。
在构造方法中调用set方法进行合理值的判断。
案例1:
private String name;
private int age;
私有化成员变量以后,就不能访问了
解决办法:
私有化的成员变量只能在当前类内部使用
现在不管是getName、getAge也能使用私有化成员变量
show()方法体中,调用方法这样的做法优势在于可维护性和扩展性
这时候出现了另外一个问题,如果使用构造方法的形式填入参数会出现不合理但合法的数值
考虑到代码的冗余,以及代码的复用解决办法应该是这样的: