/**
id:万能指针
能够指向任何OC对象.
id = NSObject *, id cat = [Cat new];
[cat jump]; NSObject:是所有类的父类,基类.可以指向任何OC对象.
id:万能指针,可以指向任何OC对象. 区别:编译器对NSObject做类型检测,但是不对id做类型检测.
*/ #import <Foundation/Foundation.h>
#import "Cat.h"
#import "Animal.h" int main(int argc, const char * argv[]) {
@autoreleasepool { NSObject *c = [Cat new];
[(Cat *)c jump]; // id能够指向任何OC对象
id cat = [Cat new];
[cat jump];
}
return ;
}
void test1(){
// 下面代码无法运行成功,因为动物没有跳的行为.
Animal *ani = [Animal new];
[(Cat *)ani jump];
}

最新文章

  1. Android app AOP添加埋点技术总结
  2. eclipse 粘贴字符串自动添加转义符
  3. LinQ和ADO.Net增删改查 备忘
  4. IntelliJ IDEA 使用说明(For Eclipse user)
  5. nginx配置实战1----配置虚拟主机
  6. laravel redis
  7. web storage的用法
  8. UVA 10391 stl
  9. http相关概念在iOS中的使用介绍
  10. 你自认为理解了JavaScript?
  11. Linux系统Wpa_supplicant用法小结
  12. 如何使用Jquery获取Form表单中被选中的radio值
  13. Axure设计分析作业-实例解析
  14. JNI的替代者—使用JNA访问Java外部功能接口
  15. U - stl 的 优先队列 Ⅰ
  16. 这是一款可以查阅Github上的热门趋势的APP
  17. Logback 基础知识
  18. string的常见用法
  19. jsp pageEncoding属性详解
  20. js创建对象的三种方法

热门文章

  1. ASP.NET MVC 常用内置验证特性 简介
  2. AudioManager --- generateAudioSessionId
  3. Python中list的实现
  4. ajax 瀑布流实现
  5. js_sl 延迟菜单
  6. 子元素过滤器nth-child解释
  7. 关于python requests包新版本设置代理的问题
  8. 前端复习-03-接上面ajax跨域问题的解决与探索
  9. matlab 画锥体
  10. cocos2d-x在android中响应返回键编译报错的bug分析