OC是一种“动态语言”

本文介绍了动态类型语言如Python和JavaScript与静态类型语言如C++和Java的主要区别。动态语言在运行时进行数据类型检查,方便阅读但调试困难;静态语言在编译时检查类型,结构规范但代码量大。Objective-C的动态性体现在动态类型、动态绑定和动态载入,使得程序在运行时能灵活判断行为。
摘要由CSDN通过智能技术生成

动态和静态类型语言介绍:

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

动态语言的优缺点:
优点:方便阅读,不需要写非常多的类型相关代码;
缺点:不方便调试,命名不规范时会造成读不懂,不利于理解等。

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

静态语言的优缺点:
优点:其结构非常规范,便于调试,方便类型安全;
缺点:需要写更多的类型相关代码,导致不便于阅读,不清晰明了。
 

Objective-c的动态运行性


        Objective-C的动态性,让程序在运行时判断其该有的行为,而不是像c等静态语言在编译构建时就确定下来。它的动态性主要体现在3个方面:

1.动态类型:如id类型。实际上静态类型因为其固定性和可预知性而使用的特别广泛。静态类型是强类型,动态类型是弱类型,运行时决定接收者。
2.动态绑定:让代码在运行时判断需要调用什么方法,而不是在编译时。与其他面向对象语言一样,方法调用和代码并没有在编译时连接在一起,而是在消息发送时才进行连接。运行时决定调用哪个方法。
3.动态载入。让程序在运行时添加代码模块以及其他资源。用户可以根据需要执行一些可执行代码和资源,而不是在启动时就加载所有组件。可执行代码中可以含有和程序运行时整合的新类。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值