A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wjy0916 中级黑马   /  2015-9-21 22:07  /  528 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

定义:匿名类是不能有名字的类,不能被引用,只能在创建时用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的匿名类

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马