[Java] 關於getter與setter | 羅倫斯的IT航海日誌 - - 點部落
文章推薦指數: 80 %
在學習物件導向程式語言的時候,每個人一定都有寫到getter與setter的經驗。
所謂的getter以及setter是用來作為物件的私有(private)變數或.
在學習物件導向程式語言的時候,每個人一定都有寫到getter與setter的經驗。
所謂的getter以及setter是用來作為物件的私有(private)變數或屬性(field)的公用存取介面(publicaccessinterface)
在學習物件導向程式語言的時候,每個人一定都有寫到getter與setter的經驗。
所謂的getter以及setter是用來作為物件的私有(private)變數或屬性(field)的公用存取介面(publicaccessinterface),也就是宣告兩個publicmethod,一個為getter用來取得privatevarible,另一個則為setter用來設定privatevarible。
這樣的設計目的是為了避免privatevariable被不當使用,像是可以在setter的設定時可加入一些條件判別或處理來避免變數被設成unacceptablevalue。
以下舉一個簡單的Java範例:
publicclassHelloClass{
//privatevariable
privateStringhello="";
//setter
publicvoidsetHello(Stringval){
if(val!="") //preventemptystring
this.hello=val;
}
//getter
publicStringgetHello(){
returnthis.hello;
}
//mainfunction
publicstaticvoidmain(String[]args){
HelloClasshello=newHelloClass(); //newHelloClassobject
hello.setHello("Helloworld!"); //settheprivatevariable
System.out.println(hello.getHello()); //gettheprivatevariableandprintout
}
}
心得感想:
getter與setter的概念其實在一開始學習OO時就已經開始使用了,只是也許有人並不知道這樣的函式被稱為getter與setter。
像我也是後來在學習actionscript的時候才知道這個term。
會想寫這樣主題的動機主要是要引導出下一篇關於Python所用的getter與setter,其相較於C++與JAVA有一些特別的地方,我會在下篇"[Python]關於getter與setter"做進一步的介紹的。
Java
回首頁
延伸文章資訊
- 1getter - JavaScript - MDN Web Docs
儘管可以用getter 與setter 的關聯建立虛擬屬性的類型,但getter 無法被綁定到同時擁有實際數值的屬性。 使用 get 語法時,請注意以下情況:. 可以擁有 ...
- 2建立getter 和setter - IBM
建立getter 和setter. 這個對話框可選取要建立的getter 和setter 方法。 您可從程式檔功能表或選定欄位或類型的快速功能表中使用產生Getter 和Setter,或是類型中...
- 3[Java] 關於getter與setter | 羅倫斯的IT航海日誌 - - 點部落
在學習物件導向程式語言的時候,每個人一定都有寫到getter與setter的經驗。所謂的getter以及setter是用來作為物件的私有(private)變數或.
- 4Getter and Setter in Java - GeeksforGeeks
Getter and Setter are methods used to protect your data and make your code more secure. Getter re...
- 5Getter、Setter的用與不用
有人將罪過推給了JavaBean對Getter、Setter做了規範,然而,若問題根源的確是如此,那麼,直接支援特性(Properties)存取語法的語言,又是怎麼一回事呢?