1.setter方法
作用:用來設置成員變量,可以在方法里面過濾掉一些不合理的值
-
命名規(guī)范:
- 必須是對象方法
- 返回值類型為void
- 方法名必須以set開頭,而且后面跟上成員變量名去掉”_” 首字母必須大寫
- 必須提供一個參數(shù),參數(shù)類型必須與所對應的成員變量的類型一致
- 形參名稱和成員變量去掉下劃線相同
舉例:
如:如果成員變量為int _age 那么與之對應seter方法為
-(void) setAge: (int) age;
- setter方法的好處
- 不讓數(shù)據(jù)暴露在外,保證了數(shù)據(jù)的安全性
- 對設置的數(shù)據(jù)進行過濾
2.getter方法
作用:為調(diào)用者返回對象內(nèi)部的成員變量的值
命名規(guī)范:
必須是對象方法
必須有返回值,返回值的類型和成員變量的類型一致
方法名必須是成員變量去掉下劃線
一定是沒有參數(shù)的
舉例
如:如果成員變量為int _age 那么與之對應geter方法為
- (int) age;
- getter方法的優(yōu)點:
- 可以讓我們在使用getter方法獲取數(shù)據(jù)之前,對數(shù)據(jù)進行加工;
- 比如雙十一活動,我們希望對全線商品的價格在原來的價格基礎上打五折,那么我們只要去改成品類的價格的getter方法就可以了,讓他返回的值為價格 * 0.5
3.getter/setter方法注意
- 在實際的開發(fā)中,不一定set和get方法都會提??供,如果內(nèi)部的成員變量,比如學生的學號或計算出來的數(shù)據(jù)。這樣的數(shù)據(jù)只允許外界讀取,但是不允許修改的情況,則通常只提??供get方法而不??提供set方法 。
- 成員變量名的命名以下劃線開頭,get方法名不需要帶下劃線
- 成員變量名使用下劃線開頭有兩個好處
- 與get方法的方法名區(qū)分開來
- 可以和一些其他的局部變量區(qū)分開來,下劃線開頭的變量,通常都是類的成員變量。當我看到以下劃線開頭變量,那么他一定是成員變量