重寫set或get方法

【學習筆記】【OC語言】set方法和get方法

1.set方法
作用:用來設置成員變量,可以在方法里面過濾掉一些不合理的值
命名規(guī)范:
方法都是以set開頭,而且后面跟上成員變量名,成員變量名的首字母必須大寫
形參名稱不要跟成員變量同名
2.get方法
作用:返回對象內部的成員變量
命名規(guī)范:get方法的名稱一般就跟成員變量同名
3.成員變量的命名規(guī)范
成員變量都以下劃線 _ 開頭
可以跟get方法的名稱區(qū)分開
可以跟其他局部變量區(qū)分開,一看到下劃線開頭的變量,肯定是成員變量

*第一種實現(xiàn)方法代碼示例

 1 #import <Foundation/Foundation.h>
 2 // 聲明
 3 @interface Car : NSObject
 4 {
 5     int _wheels; // 輪子個數(shù)
 6 }
 7 /*set方法*/
 8 - (void) setWheels:(int)wheels;
 9 /*get方法*/
10 - (int) wheels;
11 @end
12 
13 @implementation Car
14 // set方法的實現(xiàn)
15 - (void) setWheels:(int)wheels
16 {
17     // 對外面?zhèn)鬟M來的輪子數(shù)進行過濾
18     if (wheels<=0)
19     {
20         wheels = 1;
21     }
22     
23     _wheels = wheels;
24 }
25 
26 // get方法的實現(xiàn)
27 - (int) wheels
28 {
29     return _wheels;
30 }
31 @end

*第二種實現(xiàn)方法代碼實例

@property的時候就已經(jīng)創(chuàng)建了相應的set和get方法
//  Person.h
//  get/set方法重寫

#import <Foundation/Foundation.h>

@interface Person : NSObject

@property int age;
@property NSString * name;

@end
@implementation Person
/*
    1. 當想控制外界傳入的一些數(shù)據(jù)的合理性、安全性的時候我們就需要手動重新get/set方法
 */
- (void)setAge:(int)age
{
    _age = age;
    if (_age < 0) {
        _age = 0;
    }
}
/*
    2. 當我們手動 同時 實現(xiàn)了get/set方法的時候,property就不會自動給我們生成成員變量
 */
- (int)age
{
    return _age;    //_age報錯
}

注意??:

  1. 這里如果只重寫了set或者get方法時候,成員變量_age是正確的,系統(tǒng)不會報錯。但是如果同時重寫了set和get方法,系統(tǒng)就會報錯,說找不到_age這個成員變量。
  1. 用@property聲明的成員屬性,相當于自動生成了setter getter方法,同時重寫了set和get方法,與@property聲明的成員屬性就不是一個成員屬性了,是另外一個實例變量,而這個實例變量需要手動聲明
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評論 19 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,839評論 18 399
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 4,202評論 1 10
  • 重點掌握 3 類對象和方法 對象就是一個物體 類的獨特存在就是一個實例,對實例進行操作叫做方法。方法可以應用于類或...
    Coder大雄閱讀 1,376評論 0 2
  • 不知不覺中,一周又要結束了,今天是星期六,忙碌了整個星期 睡個懶覺起來 ,感覺真好。周末,固然應該休息,娛樂...
    淺唱夢想520閱讀 251評論 5 3

友情鏈接更多精彩內容