Java面向?qū)ο笾蓡T隱藏與屬性封裝操作示例
本文實例講述了Java面向?qū)ο笾蓡T隱藏與屬性封裝操作。分享給大家供大家參考,具體如下:
關(guān)于這個功能的優(yōu)點我現(xiàn)在體會還不深,只是從書本中找到了面向?qū)ο缶幊痰囊粋€原則——盡量讓數(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());
}
}
運行結(jié)果:
華山派弟子人數(shù): 123
華山派功夫: 紫霞神功
華山派掌門: 岳不群
首先,關(guān)于如上代碼值得一說的是方法的實現(xiàn)。其實,在eclipse中,實現(xiàn)get以及set的功能是集成了一個自動生成功能的。而代碼中相應(yīng)方法的實現(xiàn)使用的全都是這個功能。具體的功能再source的菜單欄中,選擇生成getter以及setter選項即可彈出一個對話框。在對話框中勾選自己需要處理的屬性即可。
通過main方法中的代碼可以看出,通過set函數(shù)實現(xiàn)了對私有屬性的修改,同樣,通過get函數(shù)實現(xiàn)了對修改后的屬性的獲取。當(dāng)然,關(guān)于屬性的獲取應(yīng)該是什么時候都是可以的。
目前,暫時還不是很清楚這種功能在軟件構(gòu)件上有什么優(yōu)點或者優(yōu)勢。如果有優(yōu)勢的話,其實在C語言中也可以仿出一些類似的功能,這種技術(shù)倒是可以變相拓展使用到現(xiàn)在工作的軟件構(gòu)建中去。
至于把數(shù)據(jù)私有化,代碼中使用了private關(guān)鍵字對屬性定義進行了修飾。這樣,直接通過一個對象的屬性訪問時無法對屬性進行獲取或者修改的。通過這種方式,對象所擁有的數(shù)據(jù)表現(xiàn)為一種私有狀態(tài)。
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
springboot如何靜態(tài)加載@configurationProperties
這篇文章主要介紹了springboot如何靜態(tài)加載@configurationProperties,本文一個錯誤案例和成功案例結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-07-07
Java中的NumberFormatException異常原因以及解決方案詳解
這篇文章主要介紹了Java中的NumberFormatException異常原因以及解決方案詳解,NumberFormatException 是 Java 中的一個異常類,通常在字符串轉(zhuǎn)換為數(shù)字的過程中發(fā)生,它表示一個無效的數(shù)字格式,即字符串無法被正確解析為數(shù)字,需要的朋友可以參考下2024-02-02
淺析Java關(guān)鍵詞synchronized的使用
Synchronized是java虛擬機為線程安全而引入的。這篇文章主要為大家介紹一下Java關(guān)鍵詞synchronized的使用與原理,需要的可以參考一下2022-12-12

