封装
-
改露的露,该藏的藏
- 我们程序设计要追求"高内聚,低藕合"。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量方法给外部使用。
-
封装(数据的隐藏)
-
- 通常,应静止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。
-
记住这句话就够了:属性私有,get/set
我们先写一个Day06的类和一个Day07的类
在Day06的类里面写上
//属性 public String name; //名字 private int id; //学号 private char sex; //性别
然后我们在Day07的类里面new一个Day06的类,并且名称改为s1
这个时候我们调用一下name
就会发现name爆红出错了
我们在把private改成public看看
就会发现name又可以使用了
是因为private是私有的意思 ,他有一个权限,你无法调用他,public是最高的权限
那怎样才可以调用他呢?
我们可以使用get 和set
//get 获得这个数据(属性) //set 给这个数据设置值
get
public String getName(){ return this.name; }
然后再Day07那里
输入String name = s1.name();
set
我们在Day06那里输入
public void setName(String name){
this.name = name;
}
在Day07输入
s1.setName("最右");
在Day07输入最右 是给setName附上值 ,然后再传给Day6的String name 然后name 在把值赋给this.name. 然后 this.name 在把值赋给 private String name;
然后我们在Day07输入
System.out.println(s1.getName());
输出一下,就发现输出了 “最右”
快捷键
自动生成get 和set 的条件
封装的意义
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口
4.提高系统可维护性