1. 程式人生 > >從零開始學java (封裝)

從零開始學java (封裝)

封裝

  封裝是java面向物件的三大特徵之一,簡而言之封裝就是將類的成員屬性宣告為私有,同時提供共有的方法實現對該成員屬性的存取操作;

  主要的實現目的:

    隱藏類的實現細節,

    讓使用者只能通過事先預定的方法來訪問資料,從而可以在該方法里加入邏輯控制,限制對成員變數的不合理訪問,

    可進行資料的檢查,從而有利於保護物件資訊的完整性

    便於修改,提高程式碼的可維護性

  為了實現良好的封裝,從下面兩個方面去考慮如何封裝一個物件

    將物件的成員變數和實現細節隱藏起來,不允許外部直接訪問

    把方法暴露出來, 讓方法來控制對這些成員變數進行安全的訪問與操作。(就是你怎麼操作限制我說了算,你需要的資料是什麼樣的我說了算,變數不是    你輸入什麼就會給你什麼 當然根據實際的業務來說)

  封裝的好處

    隱藏類的實現細節,讓使用者只能通過程式規定的方法來訪問資料,可以方便的加入存取控制語句,限制不合理的操作。

  

/**
 * 模擬一個業務中的javabean
 * @author GMZ
 *
 */
public class Person {

    //我們來封裝四個  person這個類 的私有屬性
    private String name;
    private Integer age;
    private char sex;
    private String identity;
    
    
    //生成它的set與get方法
public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public char getSex() { return sex; }
public void setSex(char sex) { this.sex = sex; } public String getIdentity() { //現在我們給這個身份中加一個去除空格的操作 trim方法是字串去除空格 return identity.trim(); } public void setIdentity(String identity) { this.identity = identity; } }

  這是一個簡單的類的封裝 ,在實際的應用中你可以重寫類的toString方法,還有可能去寫一個類的構造器,或者去過載一個或者多個構造器。

  跟封裝比較切合的還有一個設計模式  單例設計模式 https://www.cnblogs.com/Cgosling/p/9880076.html