[Java] 關於getter與setter | 羅倫斯的IT航海日誌 - - 點部落

文章推薦指數: 80 %
投票人數:10人

在學習物件導向程式語言的時候,每個人一定都有寫到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 回首頁



請為這篇文章評分?