最簡單就是把屬性設成private再用public的方法去讀寫
例如:
public String password;改成
private String password; public String getPassword(){ return this.password; } public void setPassword(String password){ this.password = password; }看起來好像多了很多行
不過會讓屬性更安全
像如果password是public的話
其他類別在呼叫時可以直接用obj.password去做內容的更改
不覺得違反password的單字意思嗎
封裝化後雖然看起來沒變
不過可以加以限制
例如不想被寫入就可以不要使用setter
或者是加密時可以寫在裡面之類的
唯一缺點就是語法都幾乎一樣,但每一個private屬性都要打=''=
在此
Eclipse有提供工具自動產生Java屬性的Getters和Setters
教學如下
在畫面右鍵 > Source > Generate Getters and Setters
接著可以勾選要產生方法的屬性
按OK之後就會自動產生了
超快OuO
參考資料:
封裝的意義
沒有留言:
張貼留言