封装
- 该露的露,该藏的藏
- 我们程序设计要追求”高内聚,低耦合“。高内聚就是类的内部数据细节由自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。
- 封装(数据的隐藏)
- 通常,应禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问,称为信息隐藏。
- 属性私有,get/set
package com.oop.demo04;
//类 private私有
public class Student {
//属性私有
private String name;
private int id;
private char gender;
private int age;
//提供一些可以操作属性的方法
//提供一些public的get、set方法
//get 获得这个数据
public String getName(){
return this.name;
}
//set 给这个数据设置值
public void setName(String name){
this.name=name;
}
//Alt+insert鼠标右键快捷设置
public int getId() {
return id;
}
public void setGender(char gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {//setAge(形参)
if(age>120||age<0){
this.age = Integer.parseInt("不合法");
}else {
this.age = age;//this.age
}
}
}
package com.oop;
import com.oop.demo04.Student;
public class Application1 {
public static void main(String[] args) {
Student s1 = new Student();
s1.setName("fred");
System.out.println(s1.getName());
s1.setAge(10);//先set后get
System.out.println(s1.getAge());
}
}//和上一个连着看
-
作用
- 提高程序的安全性,保护数据
- 隐藏代码的实现细节
- 统一接口
- 系统可维护性增加了