封装

  • 我们程序设计要追求"高内聚,低耦合",高内聚就是类的内部数据操作细节自己完成,不允许外部干涉,低耦合:仅暴露少量的方法给外部使用
  • 封装,应禁止直接访问一个对象中的数据实际表示,而应通过操作接口来访问,称为信息隐藏
  • 属性私有,get/set
package base.Demo01;

public class Student {
   private String name;
   private int id;
   private char sex;
   private int age;

   //提供一些可以操作这个属性的方法,get\set方法
   public String getName(){
      return this.name;
   }
   //set,给这个值设置值
   public void setName(String name){
      this.name =name;
   }

   public int getId() {
      return id;
   }

   public void setId(int id) {
      this.id = id;
   }

   public int getAge() {
      return age;
   }

   public void setAge(int age) {
      if (age>120 || age<0){
         this.age = 3;
      }else {
         this.age = age;
      }
   }

   public char getSex() {
      return sex;
   }

   public void setSex(char sex) {
      this.sex = sex;
   }
}


package base.Demo01;

public class Application {
    public static void main(String[] args) {
        //new 实例化了一个对象
        Student s1 = new Student();
        s1.setName("宋俊青");
        System.out.println(s1.getName());
        s1.setAge(70);
        System.out.println(s1.getAge());
    }
}

好处:

  • 提高程序的安全性,保护数据
  • 隐藏代码的实现细节
  • 统一接口
  • 系统可维护性增加了