定义:匿名类是不能有名字的类,不能被引用,只能在创建时用New语句来声明(百度百科) Car类的声明和实现 声明 @interface Car : NSObject { @public int _speed; } -(void) run; @end 实现 @implementation Car -(void) run{ NSLog(@"\n起飞喽!!!!速度是%d",_speed); } @end Person类的声明和实现 声明 #import "Car.h" @interface Person : NSObject -(void) goHome:(Car *) car; @end 实现 @implementation Person -(void) goHome:(Car *) car{ [car run]; } @end 1)匿名类访问成员变量 //使用匿名类调用实例变量 (能切只能访问一次)以后再次访问其实是访问了新的空间 [Car new]->_speed = 250; NSLog(@"\n匿名类调用实例变量_speed = %d",[Car new]->_speed); //匿名类调用实例变量_speed = 0 2)使用匿名类调用方法
[[Car new] run];//直接使用Car的匿名类调用Car的run方法
3)匿名类作为方法参数
[P goHome:[Car new]];//将Car的匿名类作为参数传递给Person类的goHome方法
4)匿名类调用方法,方法参数还是匿名类 [[Person new] goHome:[Car new]]; //用Person的匿名类调用goHome方法,传入参数为Car的匿名类
|