Java面向對象之成員隱藏與屬性封裝操作示例
本文實例講述了Java面向對象之成員隱藏與屬性封裝操作。分享給大家供大家參考,具體如下:
關于這個功能的優(yōu)點我現(xiàn)在體會還不深,只是從書本中找到了面向對象編程的一個原則——盡量讓數(shù)據(jù)私有。如果需要對數(shù)據(jù)的信息進行修改或者獲取,不會直接修改成員信息,而是通過方法的調(diào)用來實現(xiàn)。
寫如下代碼:
packagefengzhuang; class HuaShanPai { private String zhangmen; private int dizishu; private String gongfu; public String getZhangmen() { return zhangmen; } public void setZhangmen(String zhangmen) { this.zhangmen = zhangmen; } public int getDizishu() { return dizishu; } public void setDizishu(int dizishu) { this.dizishu = dizishu; } public String getGongfu() { return gongfu; } public void setGongfu(String gongfu) { this.gongfu = gongfu; } } public class FengZhuang { public static void main(String[] args) { // TODO Auto-generated method stub HuaShanPai huashandizi = new HuaShanPai(); huashandizi.setDizishu(123); huashandizi.setGongfu("紫霞神功"); huashandizi.setZhangmen("岳不群"); System.out.println("華山派弟子人數(shù): " + huashandizi.getDizishu()); System.out.println("華山派功夫: " + huashandizi.getGongfu()); System.out.println("華山派掌門: " + huashandizi.getZhangmen()); } }
運行結果:
華山派弟子人數(shù): 123
華山派功夫: 紫霞神功
華山派掌門: 岳不群
首先,關于如上代碼值得一說的是方法的實現(xiàn)。其實,在eclipse中,實現(xiàn)get以及set的功能是集成了一個自動生成功能的。而代碼中相應方法的實現(xiàn)使用的全都是這個功能。具體的功能再source的菜單欄中,選擇生成getter以及setter選項即可彈出一個對話框。在對話框中勾選自己需要處理的屬性即可。
通過main方法中的代碼可以看出,通過set函數(shù)實現(xiàn)了對私有屬性的修改,同樣,通過get函數(shù)實現(xiàn)了對修改后的屬性的獲取。當然,關于屬性的獲取應該是什么時候都是可以的。
目前,暫時還不是很清楚這種功能在軟件構件上有什么優(yōu)點或者優(yōu)勢。如果有優(yōu)勢的話,其實在C語言中也可以仿出一些類似的功能,這種技術倒是可以變相拓展使用到現(xiàn)在工作的軟件構建中去。
至于把數(shù)據(jù)私有化,代碼中使用了private關鍵字對屬性定義進行了修飾。這樣,直接通過一個對象的屬性訪問時無法對屬性進行獲取或者修改的。通過這種方式,對象所擁有的數(shù)據(jù)表現(xiàn)為一種私有狀態(tài)。
更多java相關內(nèi)容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
Java并發(fā)之條件阻塞Condition的應用代碼示例
這篇文章主要介紹了Java并發(fā)之條件阻塞Condition的應用代碼示例,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02PageHelper在springboot+mybatis框架中的使用步驟及原理解析
這篇文章主要介紹了PageHelper在springboot+mybatis框架中的使用步驟及原理解析,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03Eclipse創(chuàng)建JavaWeb工程的完整步驟記錄
很多新手不知道Eclipse怎么創(chuàng)建Java Web項目,一起來看看吧,這篇文章主要給大家介紹了關于Eclipse創(chuàng)建JavaWeb工程的完整步驟,需要的朋友可以參考下2023-10-10為何HashSet中使用PRESENT而不是null作為value
這篇文章主要介紹了為何HashSet中使用PRESENT而不是null作為value,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10解析springBoot-actuator項目構造中health端點工作原理
這篇文章主要介紹了springBoot-actuator中health端點工作原理,對spring-boot-actuator的項目構造,工作原理進行了全面的梳理,側重health健康檢查部分2022-02-02