A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© QQ2544 中级黑马   /  2015-8-4 20:14  /  853 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

C++语言特点:
         1.在C语言的基础上进行扩充和完善,使C++兼容了C语言的面向过程特点,又成为了一种面向对象的程序设计语言;

         2.可以使用抽象数据类型进行基于对象的编程;
         3.可以使用多继承、多态进行面向对象的编程;

         4.可以担负起以模版为特征的泛型化编程。

OC语言特点:
        1.Objecive-C属于Smalltalk学派,其面向对象与C++面向对象编程力的Simula 67(一种早期面向对象语言)学派不同;

        2.Objective-C 是ANSI C的超集,扩展了C 语言使它具备面向对象设计的能力,例如类、消息‘继承;同时在Objective-C的代码中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象访问方法;

        3.Objective-C可以实现底层系统编程,另一方面可以支持利用动态架构进行开发。


C++与OC同为面向对象设计语言,他们有很多相似的地方,但是由于两者属于不同的面向对象学派。
区别:

        1.继承:Objective-C与同Java和Smalltalk一样不支持多重继承,而C++语言支持多重继承(从侧面可以说明多重继承的效率不高);

        2.函数调用:Objective-C通过互相传递消息实现函数调用,而C++直接进行函数调用

       3.定型:Objective-C是动态定型(dynamicaly typed)。所以它的类库比C++要容易操作。Objective-C 在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类。而C++,对象的静态类型决定你是否可以发送消息给它。

        4.接口:Objective-C采用protocol协议(非正式和正式)的形式来定义接口,而C++采用虚函数的形式来定义接口。

        5.方法重载:c++中允许两个方法的名字相同,参数个数相同,但是参数类型不同,以及不同的返回值类型。而OC中不允许同一个类中两个方法有相同的名字,参数个数相同,参数类型不同。

2 个回复

倒序浏览
现在还在学习iOS基础班 先保存用
回复 使用道具 举报
谢谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马