匿名类的概念
匿名类的使用方法
先定义一个车类
@interface car:NSObject
{
int _speed;
}
-(void) stop;
@end
//实现类
@implementation car
-(void)stop
{
NSLog(@“ting”);
}
@end
@interface person:NSObject
-(void) gohome:(car *)car;
@end
@implementation person
-(void)gohome:(car*)car
{
[car stop];
}
@end
1、使用匿名类访问实例变量(只能访问一次)
以后再访问,实际上访问新的空间
[car new]->_speed = 250;
NSLog(@“_speed = %d”,[car new]->_speed ); //打印结果为0,因为匿名类只能访问一次,
2、使用匿名的类,可以调用方法
[[car new] stop]; == [[[car alloc ] init] stop]
[[car alloc] init] 等价与[car new]
匿名类作为方法的参数
person *p = [person new];
car *c = [car new];
1、[p go home:[car new]];
2、[[person new] go home:[car new]];
匿名类的优缺点
优点:可以简化代码,方便方法调用
缺点:匿名对象实例化以后,只能正确的使用成员变量一次 |
|