Objective-C-2.0程序设计-第9章-多态、动态类型和动态绑定.pptVIP

  • 2
  • 0
  • 约1.36万字
  • 约 35页
  • 2019-04-17 发布于贵州
  • 举报

Objective-C-2.0程序设计-第9章-多态、动态类型和动态绑定.ppt

9.4 id数据类型与静态类型 如果dataValue1和dataValue2是id变量,那么语句 result = [dataValue1 add: dataValue2]; 会导致编译器生成代码来将参数传递给add:方法并通过假设处理其返回值。 在运行时,Objective-C运行时系统仍然检查存储在dataValue1中对象所属的确切类,并选择相应的方法来执行。然而,编译器可能生成不正确的代码来向方法传递参数或处理返回值。当一个方法选取对象作为它的参数,而另一个方法选取浮点数作为参数时,很有可能发生这种情况。如果这两个方法之间的不一致性仅在于对象类型的不同,编译器仍然能够生成正确的代码,因为传递给对象的引用是内存地址。 第9章 多态、动态类型和动态绑定 动态绑定和id类型 9.2 编译时和运行时检查 9.3 多态:相同的名称,不同的类 9.1 id数据类型与静态类型 9.4 使用@try处理异常 9.6 有关类的问题 9.5 9.5 有关类的问题 开始使用可以包含来自不同类的对象的变量时,可能会遇到以下问题: 这个对象是矩形吗 这个对象支持print方法吗 这个对象是Graphics类或是其子类的成员吗 这些问题的答案可以用来执行不同的代码序列,避免错误或在运行程序时检查程序的完整性。 表9-1总结了NSObjec

文档评论(0)

1亿VIP精品文档

相关文档