從零開始學java (封裝)
阿新 • • 發佈:2018-11-09
封裝
封裝是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