[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
回首頁
延伸文章資訊
- 1Java Getter和Setter:基礎、常見錯誤和最佳實踐 - 每日頭條
在Java中,getter和setter是用於獲取和更新變量值的兩種傳統方法。 下面的代碼是一個帶有私有變量和一些getter/setter方法的簡單類的例子: public class ...
- 2属性的getter 和setter - 现代JavaScript 教程
访问器属性由“getter” 和“setter” 方法表示。在对象字面量中,它们用 get 和 set 表示:. let obj = { get propName() { // 当读取obj.p...
- 3Getter and Setter in Java - GeeksforGeeks
Getter and Setter are methods used to protect your data and make your code more secure. Getter re...
- 4Java 入門指南- getter 與setter - 程式語言教學誌
Java 入門指南- getter 與setter ; 封裝, encapsulation ; 物件, object ; 類別, class ; 宣告, declare.
- 5[Java] 關於getter與setter | 羅倫斯的IT航海日誌 - - 點部落
在學習物件導向程式語言的時候,每個人一定都有寫到getter與setter的經驗。所謂的getter以及setter是用來作為物件的私有(private)變數或.