美文网首页
oc语言的优点和缺点

oc语言的优点和缺点

作者: 一代骄马 | 来源:发表于2017-09-21 17:44 被阅读34次

oc语言最大的优点和不足是什么?对于不足,有没有可用的方法来绕过这些不足来实现需求。

一、oc语言的特性

OC做为一门面向对象语言,具有面向对象的语言特性,如封装、继承、多态。他具有静态语言的特性(如C++),又有动态语言的效率(动态绑定、动态加载等)。

OC的动态特性表现为了三个方面:动态类型、动态绑定、动态加载。之所以叫做动态,是因为必须到运行时(run time)才会做一些事情。

(1)动态类型

动态类型,说简单点就是id类型。动态类型是跟静态类型相对的。像内置的明确的基本类型都属于静态类型(int、NSString等)。静态类型在编译的时候就能被识别出来。所以,若程序发生了类型不对应,编译器就会发出警告。而动态类型就编译器编译的时候是不能被识别的,要等到运行时(run time),即程序运行的时候才会根据语境来识别。所以这里面就有两个概念要分清:编译时跟运行时。基本的动态特性在常规的Cocoa开发中非常常用,特别是动态类型和动态绑定。由于Cocoa程序大量地使用Protocol-Delegate的 设计模式,因此绝大部分的delegate指针类型必须是id,以满足运行时delegate的动态替

(2)动态绑定

动态绑定(dynamic binding),让代码在运行时判断需要调用什么方法,而不是在编译时。与其他面向对象语言一样,方法调用和代码并没有在编译时连接在一起,而是在消息发送时才进行连接。运行时决定调用哪个方法。

(3)动态加载

根据需求加载所需要的资源,这点很容易理解,对于iOS开发来说,基本就是根据不同的机型做适配。最经典的例子就是在Retina设备上加载@2x 的图片,而在老一些的普通屏设备上加载原图。随着Retina iPad的推出,和之后可能的Retina Mac的出现,这个特性相信会被越来越多地使用。

oc 语言的优点:类目、动态识别、支持c语言、oc与c++可以混编

缺点:不支持命名空间、不支持运算符重载、不支持多重继承

多态(Polymorphism)OC中的多态则是不同对象对同一消息的不同响应方式,子类通过重写父类的方法来改变同一消息的实现,体现多态性。具体来说指的是允许父类的指针指向子类对象,成为一个更泛化、容纳度更高的父类对象,这样父对象就可以根据实际是哪种子类对象来调用父类同一个接口的不同子类实现。

相关文章

  • oc语言的优点和缺点

    oc语言最大的优点和不足是什么?对于不足,有没有可用的方法来绕过这些不足来实现需求。 一、oc语言的特性 OC做为...

  • iOS 面试集锦

    1. OC 语言的优缺点 优点: category posing 动态特性runtime: 函数实现 IMP 动态...

  • 我的笔试题

    1、OC语言的基本特点 优缺点 objc优点: 1) Cateogies 2) Posing 3) 动态识别(多态...

  • iOS-OC和Swift单利创建

    OC单利 Swift单利 推荐使用 仿OC版 单利优缺点 优点: 缺点:

  • 2020 总结

    1、Swift对比Objective-C的优缺点? 优点: swift是**类型安全的语言,注重安全,OC注重灵活...

  • swift 对比 oc优缺点

    Swift对比Objective-C的优缺点 优点: swift是类型安全的语言,注重安全,OC注重灵活 swif...

  • 主流编程语言的优点和缺点

    姓名:杨圣童 学号:14020181046 转载自:http://www.it-home.org/articl...

  • Python 中__slots__属性

    因为Python是动态语言。属性和方法可以随便添加和删除。这是所有动态语言的优点也是缺点。静态语言:编译的时候确定...

  • 优点和缺点

    每个人都有两个袋子,一个袋子在前面装着你的优点,一个袋子在后面装着你缺点,所以你只能看到你的优点而看不到你的缺点,...

  • 缺点和优点

    有位老师进了教室,在白板上点了一个黑点。 他问班上的学生说:「这是什么?」 大家都异口同声说:「一个黑点。」 老师...

网友评论

      本文标题:oc语言的优点和缺点

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