封装

  • 该露的露,该藏的藏
    • 我们程序设计要追求“高内聚,低耦合”。
    • 高内聚:类的内部数据操作细节自己完成,不允许外部干涉
    • 低耦合:仅暴露少量的方法给外部使用
  • 封装(数据的隐藏)
    • 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏
  • 记住这句话:属性私有,get/set(提供可以操作属性的方法)

主类代码:

package com.xf2021.www;
public class Application {
    public static void main(String[] args) {
        Student s1 = new Student();
        s1.setName("小明");
        //因为在Student类中name变量是私有的,所以s1.name=“xxx”;是不行的
        System.out.println(s1.getName());

        s1.setAge(999);//不合法的
        System.out.println(s1.getAge());


    }
}

副类代码:

package com.xf2021.www;
//类   private:私有
public class Student {
    //属性私有
    private String name; //名字
    private int id; //学号
    private char sex; //性别
    private int age;//年龄
    //get 获得这个数据
    public String getName(){
        return this.name;
    }

    public int getAge() {
        return age;
    }

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

    }
    //set 给这个数据设置值
    public void setName(String name){
        this.name=name;
    }
}

封装的好处:

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

You got to put the past behind you before you can move on.