黑马程序员技术交流社区

标题: 匿名类的使用 [打印本页]

作者: mazhichao    时间: 2015-7-1 22:51
标题: 匿名类的使用
匿名类的概念
        匿名类的使用方法
                先定义一个车类
        @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]];
       
匿名类的优缺点
        优点:可以简化代码,方便方法调用
        缺点:匿名对象实例化以后,只能正确的使用成员变量一次
作者: yyyyyyyyqs    时间: 2015-7-2 00:29
完全手写嘛?厉害啊!
作者: cuin    时间: 2015-7-2 09:31
学习了~~~~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2