JAVA树根白话一 封装
Begin……[A B C]
封装——面向对象的三个基本特征之一(另外两个是继承、多态)
A.封装说明
封装使类成为一个具有内部数据的自我隐藏能力、功能独立的软件模块。
① 封装是实现面向对象的第一步,封装就是将数据或函数等集合在一个单元中(类)。被封装的对象通常被称为抽象数据类型。
② 类具有封装性,类能够把数据和算法(操作数据的函数)组合在一起,构成一个不可分割的整体。
③ 类具有信息隐藏的能力,它能够有效地把类的内部数据(即私有和受保护成员)隐藏起来,使外部函数只能通过类的公有成员才能访问类的内部数据,并且控制访问级别。
B.封装的意义
保护类中的成员,隐藏方法细节,不让类以外的程序直接访问或修改。
① 保护或防止代码(数据)在无意中被破坏。保护类中的成员,不让类以外的程序直接访问或修改,只能通过提供的公共接口访问(数据封装)。
② 隐藏方法(实现)细节,只要接口不变,内容的修改不会影响到外部的调用者(方法封装)。
③ 封装可以使对象拥有完整的属性和方法(类中的函数)。
④ 外部不能直接访问对象的属性,只能通过该属性对应的公有方法访问。
C.对象封装原则
用类实现封装,用封装来实现高内聚,低耦合
① 内聚:指一个模块(类)内部各个部分之间的关联程度
② 耦合:指各个模块(类)之间的关联程度
附:
访问级别:public,private,protected
public:
通常使用public设置公有成员,让本类之外的其他函数能够通过公有成员,按照类允许的方法访问类的私有数据,就能起到数据保护的目的。
private:
通常使用private把不想让其他程序访问的数据或者函数设置成私有成员,可禁止其他程序对这些数据随意修改。
protected:
通过protected设置保护成员,在封装中没什么用,通常在继承中使用。
The end ~ ~