Java封裝的定義和使用


  我們程序設計要追求“低耦合,高內聚”。 高內聚就是類的內部數據操作細節自己完成,不允許外部干涉;低耦合是僅暴露少量的方法給外部使用,盡量方便外部調用。

編程中封裝的具體優點:

   1. 提高代碼的安全性。

   2. 提高代碼的復用性。

   3. “高內聚”:封裝細節,便於修改內部代碼,提高可維護性。

   4. “低耦合”:簡化外部調用,便於調用者使用,便於擴展和協作。

封裝的實現:

  Java是使用“訪問控制符”來控制哪些細節需要封裝,哪些細節需要暴露的。 Java中4種“訪問控制符”分別為private、default、protected、public,它們說明了面向對象的封裝性,所以我們要利用它們盡可能的讓訪問權限降到最低,從而提高安全性。

  下面說明它們的訪問權限問題。其訪問權限范圍如下表所示:

      1. private 表示私有,只有自己類能訪問

      2. default表示沒有修飾符修飾,只有同一個包的類能訪問

      3. protected表示可以被同一個包的類以及其他包中的子類訪問

      4. public表示可以被該項目的所有包中的所有類訪問

封裝的使用規范:

  封裝的使用規范在下面這個demo中都有注釋,上例子:

package cn.ftf.o1; /** * 封裝的使用規范 * @author 房廷飛 * */
public class Person01 { private int id;         //屬性一般用private控制訪問符
    private String name; private int age; private boolean man; //建一個方法來更改屬性,還可以對屬性做一些其他操作,高內聚!
    public void setName(int age) { if(age>=1&&age<=130) { this.age=age; }else { System.out.println("請輸入正確的年齡!"); } } public int getAge() { return this.age; } public void setName(String name) { this.name=name; } public String getName() { return this.name; } //eclipse中提供了生成set,get 方法的快捷鍵:右鍵source,選擇Generate Setters and Getters //下面為自動生成
    public int getId() { return id; } public void setId(int id) { this.id = id; } public boolean isMan() {    //boolean變量的get方法是is開頭
        return man; } public void setMan(boolean man) { this.man = man; } public void setAge(int age) { this.age = age; } } class Boy extends Person01{ public void sayHello() { System.out.println("Hello");     //像這種普通的邏輯方法一般用public就可以
 } }

 

2019-03-10    21:00:29    房廷飛        期待明天更好的自己!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM