首页 > 代码库 > 黑马程序员 11-OC匿名对象
黑马程序员 11-OC匿名对象
———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———
匿名变量:利用类创建一个对象的时候,没有将对象的地址交给一个指针变量保存,这样的对象称为匿名对象,即没有指针指向的对象。
//匿名变量
1 #import <Foundation/Foundation.h> 2 //类的声明 3 @interface Car : NSObject 4 { 5 @public//表示允许外界指针间接访问对象的成员变量 6 int _speed;//速度 7 } 8 //方法声明 9 - (void)run;//跑10 @end11 12 //类的实现13 @implementation Car14 //方法实现15 - (void)run16 {17 NSLog(@"速度为%d的车子跑起来了", _speed);18 }19 20 @end21 22 int main(int argc, const char * argv[])23 {24 /*25 Car *c;26 c = [Car new];27 c->_speed = 250;28 29 [c run];30 */31 32 // 不要写类似匿名对象这样的代码33 // 只要求能说出输出结果34 [Car new]->_speed = 300;35 36 [[Car new] run];37 38 return 0;39 }
分析:
1、如果将34-36行注释掉,打开24-30行;表示创建了一个对象c,并给对象c的成员变量_speed赋值250,然后对象c调用对象方法run,输出结果为:
速度为250的车子跑起来了
2、如果注释掉24-30行,打开34-36行;
第34行表示:创建一个Car类型的匿名对象,并对该匿名对象的成员变量_speed赋值300
第36行[[Car new] run];这里又出现一个[Car new],说明在这里又创建了一个新的匿名对象(并不是第34行创建的匿名对象),新匿名对象由于没有赋值,默认初始化为0,调用run方法,输出结果为:速度为0的车子跑起来了
3、这里要求我们知道这个输出结果即可,不建议写匿名对象这样的代码。
黑马程序员 11-OC匿名对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。