版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pmcasp/article/details/81532765
封装
为什么需要封装?封装的作用和含义?
我要看电视,只需要按一下开关和换台就可以了。有必要了解电视机内部的结构吗?有必要碰碰显像管吗?
我要开车,等等事物
制造厂家为了方便我们使用电视,方便我们开车,把复杂的内部细节全部封装起来,只给我们暴露简单的接口,比如:电源开关,油门。具体怎么内部实现的,我们不需要操心。
需要让用户知道的暴露出来,不需要让用户了解的全部隐藏起来这就是封装。
白话:该露的露,该藏的藏。
专业:我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。
变成中封装的具体意义
便于调用者调用。
良好的封装,便于修改内部代码,提高可维护性。
良好的封装,可进项数据完整性检测,保证数据的有效性。
使用访问控制符,实现封装
‘*’范围越来越大
|
同一个类 |
同一个包中 |
子类 |
所有类 |
private |
* |
|
|
|
default(即不加修饰符的时候) |
* |
* |
|
|
protected |
* |
* |
* |
|
public |
* |
* |
* |
* |
封装的使用细节
1.属性一般使用private(除非本属性确定会让子类继承并且使用),提供相应的get/set方法来访问相关属性,这些方法通常是public,从而提供对属性的读取操作。(注意:boolean变量的get方法使用:is开头。)
2.一些只用于本类的辅助性方法可以用private,希望其他类调用的方法用public
3.常量和static公开使用public,属性全部私有private。