黑马程序员技术交流社区

标题: OC-id类型和 NSObject类型 [打印本页]

作者: wangchao1992    时间: 2015-8-17 16:25
标题: OC-id类型和 NSObject类型
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];







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