面向对象--封装

Posted 代鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象--封装相关的知识,希望对你有一定的参考价值。

隐藏/封装(encapsulation)

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

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

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

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

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

封装的意义:

1.便于调用者的使用

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

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

 

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

            范围越来越大

 

同一个类

同一个包中

子类

所有类

private

*

 

 

 

default

*

*

 

 

protected

*

*

*

 

public

*

*

*

*

访问权限:

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

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

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

private:仅本类中可以访问。

 

封装的使用细节

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

以上是关于面向对象--封装的主要内容,如果未能解决你的问题,请参考以下文章

python面向对象(封装继承多态)+ 面向对象小栗子

JS面向对象三大特征:封装、继承、多态

面向对象介绍以及封装

JAVA面向对象,继承、封装、多态

面向对象思想&封装

面向对象-面向对象和面向过程的区别