美文网首页
学习笔记 (一) Objective-C是一门动态的语言

学习笔记 (一) Objective-C是一门动态的语言

作者: 夜雨R | 来源:发表于2017-08-20 22:25 被阅读11次

    所谓动态和静态语言

    静态、动态是相对的,这里动态语言指的是不需要在编译时确定所有的东西,有些工作挪到了运行时完成,可以在运行时动态的添加或修改类、变量和方法。

    动静态语言定义:

    (1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

    (2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

    Objective-C为什么是动态语言

    Objective-C 是在C语言基础上添加了面向对象特性,它的数据类型检查是在运行时检测的,所以说Objecttive-C是一门动态的语言。利用Runtime运行时机制,可以在运行时动态的添加变量、方法、类等。

    Objective-C 使用的是 “消息结构” 并非 “函数调用”:使用消息结构的的语言,其运行时所应执行的代码由运行期决定;而使用函数调用的语言,则由编译器决定。

    补充

    Java具有一些动态特性,但它的数据类型检查是在编译时完成的,所以java是一门静态语言。

    相关文章

      网友评论

          本文标题:学习笔记 (一) Objective-C是一门动态的语言

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