1. 程式人生 > 實用技巧 >Java--面向物件--封裝

Java--面向物件--封裝

Java-面向物件-封裝

  • 封裝的好處就是提高程式碼的安全性
  • 程式的設計追求是“高內聚”與“低耦合“
    • 高內聚:類的內部資料操作細節自己完成,不允許外部干涉
    • 低耦合:僅對外暴露少量的方法用於使用
  • 隱藏物件內部的複雜性,只對外公開簡單的介面便於呼叫,提高系統的可擴充套件性、可維護性
  • 通俗的說,就是把改隱藏的隱藏起來,該暴露的暴露出來,這就是封裝的設計思想
  • 封裝的修飾符:privateprotectedpublic
package com.shanlei02;

/**
 * @Auther: shanlei
 * @Date: 2020/12/4 - 12 - 04 - 18:19
 * @Description: com.shanlei02
 * @version: 1.0
 */
public class Student {
    // 私有化屬性
    private String name;
    private int age;
    private String gender;

    // alt+inset  使用快捷鍵建立getter和setter方法

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        if("男".equals(gender) || "女".equals(gender)){
            this.gender = gender;
        }else{
            this.gender = "男";
        }
    }

    // 構造器
    public Student(){

    }

    public Student(String name, int age, String gender){
        this.name = name;
        this.age = age;
        this.setGender(gender);
    }
}

package com.shanlei02;

/**
 * @Auther: shanlei
 * @Date: 2020/12/4 - 12 - 04 - 18:25
 * @Description: com.shanlei02
 * @version: 1.0
 */
public class Test {

    // 這是main方法,是實現程式主要邏輯
    public static void main(String[] args) {
        Student s1 = new Student();
        s1.setName("殃奕");
        s1.setAge(18);
        s1.setGender("女");

        System.out.println(s1.getName()+"-------"+s1.getGender()+"------"+s1.getAge());

        Student s2 = new Student("nana", 18, "女");
        System.out.println(s2.getName()+"-------"+s2.getGender()+"------"+s2.getAge());
    }
}