面向对象--封装

隐藏/封装(encapsulation)

例如:只能手机只有一个按键,可以提供给用户简单的操作,而不用去考虑内部结构和如何实现。

需要让用户知道的暴露出来,不需要让用户了解的全部隐藏起来,这就是封装。

设计程序追求的是“高内聚,低耦合”。

高内聚:就是类的内部数据操作细节自己完成,不允许外部干涉。

低耦合:仅提供少量的方法给外部使用。

封装的意义:

1.便于调用者的使用

2.良好的封装,便于修改内部代码,提高可维护性。

3.良好的封装,可进行数据完整检测性,保证数据有效性。

使用访问控制符,实现封装

            范围越来越大

同一个类

同一个包中

子类

所有类

private

*

 

 

 

default

*

*

 

 

protected

*

*

*

 

public

*

*

*

*

访问权限:

public(公开的):可以被项目中所有类访问。

protected(受保护的):可以被这个类访问,同一个包中所有类访问,被它子类(同一包中或者不同包中)访问。

默认:本类中可以访问,同包下其他类可以访问。

private:仅本类中可以访问。

封装的使用细节

一般使用private(除非本属性确定会让子类继承),提供相应的get/set方法来访问相关属性,这些方法通常是public,从来提供对属性的读写操作。(boolean变量的get方法用 is开头)。

原文地址:https://www.cnblogs.com/javatask/p/6752749.html