1 #import <Foundation/Foundation.h>
2
3 @interface Person : NSObject
4 {
5 int _age;
6 }
7
8 - (void)setAge:(int)age;
9 - (int)age;
10 @end
11
12 @implementation Person
13
14 - (void)setAge:(int)age
15 {
16 _age = age;
17 NSLog(@"調用了setAge方法");
18 }
19 - (int)age
20 {
21 NSLog(@"調用了age方法");
22 return _age;
23 }
24 @end
25
26 int main() {
27
28
29 Person *p = [Person new];
30 p.age = 10; // 當點語法作為左值調用setter方法
31 int a = p.age; // 當點語法作為右值調用getter方法
32 NSLog(@"age = %i", a);
33 return 0;
34 }
35
36 /*
37 輸出
38 2015-05-01 14:40:44.890 a.out[1849:11976] 調用了setAge方法
39 2015-05-01 14:40:44.891 a.out[1849:11976] 調用了age方法
40 2015-05-01 14:40:44.891 a.out[1849:11976] age = 10
41
42
43 總結:
44 1.點語法的本質就是方法的調用
45 2.當作為左值調用setter方法,反之調用getter方法。
46 */2015/5/1下午2:42:39