本帖最后由 wangchao1992 于 2015-8-16 17:14 编辑
传统的get和set方法
Person *p = [Person new];
//调用set方法
[p setAge:17];
[p setName:@"曾小贤"];
//调用get方法
int a = [p age]; //调用get方法
NSString *n = [p name];
NSLog(@"\nage:%d,name:%@",a,n);
使用点语法:
点语法 ; xcode的特性,xcode帮我们做代码替换
p.age = 17; //p.age = 17 --替换-->[p setAge:17]
p.name = @"曾小贤";//p.name=@"曾小贤"---替换--> [p setName:@"曾小贤"];
int a = [p age]; //调用get方法
NSString *s = [p name];
注意,此处p.age是出现在了等号的右侧
实际上,当xcode 看到p.age出现在等号的右侧后,
它会帮我们把p.age ---替换成---> [p age];
int a = p.age; //调用get方法
强调:p.age到底是替换成get方法还是set方法,一般取决于
p.age出现在等号左侧还是右侧(是设置值,还是取值)
Person 类
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
//实例变量
NSString *_name;
int _age;
}
//set方法
-(void)setAge:(int)age;
-(void)setName:(NSString *)name;
//get方法
-(int)age;
-(NSString*)name;
@end
|
|