黑馬程式員---Objective-C基礎學習---get和set方法

來源:互聯網
上載者:User

標籤:

 Objective-C中得get和set方法

 

set方法

 1.作用: 提供一個方法給外界設定成員變數值,可以在方法裡面對參數進行相應過濾

 2.命名規範:

 1> 方法名必須以set開頭

 2> set後面跟上成員變數的名稱,成員變數的首字母必須大寫

 3> 傳回值一定是void

 4> 一定要接收一個參數,而且參數類型跟成員變數類型一致

 5> 形參的名稱不能跟成員變數名一樣

- (void)setAge:(int)newAge;

 

get方法

 1.作用:返回對象內部的成員變數

 2.命名規範:

 1> 肯定有傳回值,傳回值類型肯定與成員變數類型一致

 2> 方法名跟成員變數名一樣

 3> 不需要接收任何參數

- (int)age;- (void)study;

定義一個Student類,擁有一個成員變數age和對應的get\set方法。

1.Student.h
 1 #import <Foundation/Foundation.h> 2  3 @interface Student : NSObject 4  5 { 6 // 成員變數盡量不要使用@public 7 int age;  8 } 9 10 - (void)setAge:(int)newAge;11 - (int)age;12 13 @end

1> 在第7行定義了一個成員變數age,是@protected許可權的,所以外界不能直接存取它

2> 在第10、11行分別聲明了age變數的set方法和get方法

2.Student.m
 1 #import "Student.h" 2  3 @implementation Student 4  5 - (void)setAge:(int)newAge { 6     age = newAge; 7 } 8  9 - (int)age {10     return age;11 }12 13 @end

1> 在第5行實現了set方法

2> 在第9行實現了get方法

3.main.m

把定義好的Student類放到main函數中使用

 1 #import <Foundation/Foundation.h> 2 #import "Student.h" 3  4 int main(int argc, const char * argv[]) 5 { 6     @autoreleasepool { 7         Student *stu = [[Student alloc] init]; 8          9         // 設定age的值10         [stu setAge:10];11         12         // 取出age的值13         int age = [stu age];14         15         NSLog(@"age is %i", age);16         17         [stu release];18     }19     return 0;20 }

1> 在2行包含Student的標頭檔

2> 在第7行建立Student對象,在第17行釋放Student對象

3> 在第10行調用set方法設定age的值

4> 在第13行調用get方法擷取age的值

5> 在第15行輸出age的值,輸出結果如下:

2015-05-09 22:03:57.345 a.out[2643:707] age is 10

這就是OC傳統的get方法和set方法的簡單使用。

黑馬程式員---Objective-C基礎學習---get和set方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.