zoukankan      html  css  js  c++  java
  • 11-OC匿名对象

    匿名变量:利用类创建一个对象的时候,没有将对象的地址交给一个指针变量保存,这样的对象称为匿名对象,即没有指针指向的对象。

    //匿名变量

    1
    #import <Foundation/Foundation.h> 2 //类的声明 3 @interface Car : NSObject 4 { 5 @public//表示允许外界指针间接访问对象的成员变量 6 int _speed;//速度 7 } 8 //方法声明 9 - (void)run;// 10 @end 11 12 //类的实现 13 @implementation Car 14 //方法实现 15 - (void)run 16 { 17 NSLog(@"速度为%d的车子跑起来了", _speed); 18 } 19 20 @end 21 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、这里要求我们知道这个输出结果即可,不建议写匿名对象这样的代码。

    人生之路,不忘初心,勿忘始终!
  • 相关阅读:
    EMQTT测试--安装与测试 (windows)
    phpStudy本地搭建wordpress教程
    windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境)
    mysql允许外网访问 和修改mysql 账号密码
    mysql sql常用语句
    Mysql(MyISAM和InnoDB)及Btree和索引优化
    Python 有关网址
    Python 字典(Dictionary)操作详解
    pandas读取xlsx
    Python 学习笔记 (变量与数据类型)
  • 原文地址:https://www.cnblogs.com/xdl745464047/p/3997331.html
Copyright © 2011-2022 走看看