Objective-C中类和方法的定义以及协议的使用

2020-01-14 18:44:57于丽

六、在people.h文件interface中添加变量,NSString为OC的字符串变量。

复制代码
@interface Person : NSObject {
     
    NSString * _name;
    int _age;
     
}
然后在{}外面定义变量的初始化方法和set方法,格式:-(类型)方法名:(参数类型)参数1 参数名:(参数类型)参数2……,set方法名一般为set变量名,变量名首字母大写,此未苹果官方文档上的说明
复制代码
-(void)setAge:(int)age;
 
-(void)setName:(NSString *)name;
定义变量的get方法,get方法名同样为get变量名
复制代码
-(int)age;
 
-(NSString *)name;
七、在people.m文件中实现people.h文件中声明的方法。
复制代码
-(void)setAge:(int)age {
 
    _age = age;
 
}
 
-(void)setName:(NSString *)name {
    _name = [name copy];//copy方法涉及到oc的内存管理机制。使用copy可防止内存泄露
}

 

-(int)age {
    return _age;
}
-(NSString *)name {
    return _name;
}


七、在main.m中定义一个people类,并对其属性变量进行初始化。
定义一个people类:
复制代码
Person *dwight = [[Person alloc] init];
给其属性赋值:
复制代码
[dwight setName:@"Dwight Schrute"]; 
 
[dwight setAge:38];
打印值:

 

NSLog(@"%@ (%d)", [dwight name], [dwight age]);
PS:一般NSString,NSArray,NSDictionary,NSData等类型的值打印用%@,int等C中的类型,按照C语言打印的关键字打印,NSInteger,NSNumber打印时用%d。

打印结果:

Objective-C中类和方法的定义以及协议的使用

 


protocol协议,设置代理
协议(protocol)是ObjC中很重要的一部分,它用来定义可由任何其他类完成的方法,当本类中需要完成某些功能时,可由protocol来实现