17-oop封裝

呆头尖瓜發表於2024-06-23

封裝

  • 資訊隱藏:應禁止直接訪問一個物件中資料的實際表示,而應透過介面操作來訪問
  • 屬性私有,get/set
  • 追求“高內聚,低耦合”
//類
//封裝的核心關鍵字:private 私有
public class Student {
    //屬性私有
    private String name;//名字
    private int id;    //學號
    private char sex;   //性別
    private int age;  //年齡

    //提供一些可以操作這些屬性的方法
    //提供一些public的get、set方法

    //get 獲得這個資料
    public int getAge() {
        return age;
    }

    //set 給這個資料設定值
    public void setAge(int age) {
        if(age>120||age<0){//在方法里加上判斷邏輯,是否資料合法
            System.out.println("年齡不合法");
        }else{
            this.age = age;
        }
    }
    //快捷鍵:alt + insert 自動生成get、set方法

    public int getId() {
        return id;
    }

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

    public char getSex() {
        return sex;
    }

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

作用:

  1. 提高程式的安全性,保護資料
  2. 隱藏程式碼的實現細節
  3. 統一介面
  4. 增加系統可維護性

相關文章