封装性
隐藏内部的实现细节,对外提供公有的方法。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。
我们程序设计要追求“高内聚,低耦合”。
高内聚: 就是类的内部数据操作细节自己完成,不允许外部干涉;
低耦合:仅暴露少量的方法给外部使用
使用者: 方便使用
创造者(提供者):保护内部数据的安全
一般而言:(封装适度, 该露的露,该藏的藏)
属性私有化(藏起来), 方法公开(暴露出来)
权限修饰符,达到封装的效果
private, default, protected, public
封装的优点:
- 通过隐藏对象的属性来保护对象内部的状态,可以对成员变量进行更精确的控制,便于调用者调用。
- 良好的封装,便于修改内部代码,提高可用性和可维护性。
- 良好的封装,可进行数据完整性检测,保证数据的有效性。
JavaBean 就是普通的Java类
封装通过权限修饰符实现的, 合法的JavaBean应该满足以下的条件
1、属性私有化 private
2、按需提供公共的设定器get 和访问器 set 可以方便地加入控制逻辑,限制对属性的不合理操作
3、必须有 无参构造方法 存在(手动提供)
4、按需提供其他构造器
好处:
1)隐藏一个类中不需要对外提供的实现细节;
2)使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;
3)便于修改,增强代码的可维护性;