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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangchao1992 中级黑马   /  2015-8-17 16:25  /  382 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、NSObject     是所有类的基类(父类)。
     利用多态原理  NSObject可以指向任何 对象。
        NSObject *obj = [Animal  new];
        [(Animal*)obj  run]; //动物在跑
        NSObject *obj2 = [Dog  new]; //狗在跑  
        [(Dog*)obj2  run];
   
2、id类型
  id是一种通用的对象类型,它可以用来存储属于任何类的对象。 也可以理解为万能指针
注意  在id的定义中,  已经包好了 *  号。id 指针只能指向 os的对象
     id类型应用场景
         Animal *ani = [Animal new];
         id obj3;// 声明id类型
        obj3 = ani;
        [obj3 run];   //动物在跑
        Dog *dog = [Dog new];
        obj3 =dog;
        [obj3 run];   //狗在跑
  动态类型和静态类型
动态类型: 程序直到执行时才能确定所属的类。    id属于动态类型
静态类型:将一个变量定义为特定类的对象时,使用的是静态形态    例如   Animal *ani = [Animal new];


0 个回复

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