封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节(当然也无从知道),但可以通过该对象对外的提供的接口来访问该对象。
package com.other;
import principle.interface_segregation_principle.InterfaceI;
/**
* Java 封装
* 在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
*
* 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
*
* 要访问该类的代码和数据,必须通过严格的接口控制。
*
* 封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
*
* 适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
*
* 封装的优点
* 1. 良好的封装能够减少耦合。
*
* 2. 类内部的结构可以自由修改。
*
* 3. 可以对成员变量进行更精确的控制。
*
* 4. 隐藏信息,实现细节。
*/
public class Woman {
private String name;
private Integer age;
public Woman(String name,Integer age){
this.name = name;
this.age = age;
}
public String getName(){ //仅能访问名称,不能访问年龄,这个对女人来说就是良好封装
return name;
}
}