美文网首页
第八章 动态绑定和 id 类型

第八章 动态绑定和 id 类型

作者: 一个人的思考 | 来源:发表于2015-05-17 11:29 被阅读44次

第八章 动态绑定和 id 类型 //*************************************************************************************//

#import "Fraction.h"
#import "Complex.h" //两个类中都含有 print 方法 int main(int argc, char *argv[])
{

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; Fraction *f = [[Fraction alloc] init];
Complex *c = [[Complex alloc] init];
id dataValue; //声明 dataValue为 id 类型

//对对象的成员变量赋值
[f setTo:2 over: 5];
[c setReal:10.0 andImaginary: 2.5];

dataValue=f; [dataV alueprint]; dataValue=c; [dataV alueprint];

//将Fractionf 存储到dataValue中
//现在 dataV alue可以调用用于 Fraction 对象的任何方法 //将Complexc 存储到dataValue中
//调用用于 Complex 对象的任何方法

//问题:两次遇到 [dataV alueprint]; 并且 Fraction 和 Complex 类中都定义有 print 方法,系统如何知道 调用哪个?

//答案:在程序执行期间,当系统准备将 print 消息发送给 dataV alue时,它首先检查 dataV alue中存储 的对象所属的类。

[f release];

[c release];

[pool drain];

return 0;

} //************************************************************************************//

相关文章

  • iOS的动态性

    1、iOS的动态性来自三个方面:动态类型、动态绑定、动态载入、SEL类型 1、动态类型<弱类型>(id):在代码的...

  • 第八章 动态绑定和 id 类型

  • OC中的id类型

    OC中的id类型 id类型 静态类型和动态类型 为什么要有动态类型? id数据类型与静态类型 1. 静态类型和动态...

  • OC中的id类型

    id类型 【理解】静态类型和动态类型 【理解】为什么要有动态类型? 【理解】id数据类型与静态类型 1.静态类型和...

  • 【2018最新】iOS面试题(一)

    1.为什么OC是一门动态语言? 动态类型:OC在运行时决定对象的类型,比如id; 动态绑定:程序在运行时判断需要调...

  • iOS 的动态化

    iOS的动态性来自三个方面:动态类型、动态绑定、动态载入、SEL类型 动态类型Dynamic typing-det...

  • iOS 的动态性

    原文:iOS面试题大全 iOS 的动态性来自三个方面:动态类型、动态绑定、动态载入、SEL类型①、动态类型<弱类型...

  • C++动态绑定和静态绑定

    动态绑定和静态绑定 静态绑定是编译期间就可以确定的类型 动态绑定则只能在运行时确定 用C++描述轿车和卡车 可以抽...

  • OC动态特性

    OC常见的动态特性分为:动态类型(Dynamic typing),动态绑定(Dynamic binding),动态...

  • GEEKBAND C++ 面向对象高级编程(第四周)

    C++ 动态绑定和静态绑定 首先明确四个名词定义: 静态类型:对象在声明时的类型,编译期就能确定 动态类型:指针或...

网友评论

      本文标题:第八章 动态绑定和 id 类型

      本文链接:https://www.haomeiwen.com/subject/qpokqttx.html