美文网首页
为什么说OC是一门动态语言?

为什么说OC是一门动态语言?

作者: 简书笔记存档 | 来源:发表于2017-06-19 16:44 被阅读0次

什么是「动态语言」?这个概念其实没有一个明确的定义。基本上它是一个程度的度量。这个程度就是该语言的 runtime 到底使用多少 bookkeeping 数据。
动态语言其实就是一个不断添加 bookkeeping 的过程。
比如说,C++ 中为了实现多态还是不得不有一个中间机制,这就是虚表。但是你很难说虚表就是一个 bookkeeping 结构。因为它太简单了。而 Objective-C 就大大增加了对成员函数调用的 bookkeeping 机制。因为如此,所以 Objective-C 对 action-message 的实现就简单多了,因为你可以判断一个成员函数是否存在。而且也可以在不确定对象类型的情况下,指定一个方法作为回调函数。

相关文章

  • 问这么多干嘛,直接干不就完了

    这不是面试题,这是oc的全部。。。 1.为什么说OC是一门动态语言? oc的动态主要体现在三方面 动态类型 对象的...

  • iOS常见基础面试题(附参考答案)

    基础部分 1.为什么说OC是一门动态的语言? 动态和静态是相对的,OC通过runtime运行时机制可以做到纯静态语...

  • iOS常见基础面试题(附参考答案)

    基础部分 1.为什么说OC是一门动态的语言? 动态和静态是相对的,OC通过runtime运行时机制可以做到纯静态语...

  • 基本面试

    1.为什么说Objective-C是一门动态的语言? oc是由runtime实现的消息传递机制,可以动态的添加替换...

  • iOS 基础知识点

    1.SDWebImage缓存策略 2.为什么说OC是一门动态语言? Objective-C 可以通过Runtime...

  • Runtime使用小结

    OC方法的本质: Runtime技术的使用基于OC是一门动态语言,那么何为动态语言呢?动态语言意味着变量类型的确认...

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

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

  • iOS runtime详解一

    RunTime是什么? 众所周知OC是一门高级编程语言,也是一门动态语言。有动态语言那也就有静态语言,静态语言--...

  • iOS runtime运行时的作用和应用场景

    Runtime是什么?   众所周知OC是一门高级编程语言,也是一门动态语言。有动态语言那也就有静态语言,静态语言...

  • 面试总结

    1、OC是一门面向对象语言,但是它既有静态语言的特性,又有动态语言的效率。OC中的动态特性体现在OC中的RunLo...

网友评论

      本文标题:为什么说OC是一门动态语言?

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