Objective-C 和 C++ 的区别有哪些?

 我来答
万事QyHr
推荐于2016-11-14 · 超过78用户采纳过TA的回答
知道答主
回答量:144
采纳率:85%
帮助的人:68.2万
展开全部
Objective-C是C的扩展,设计思路上借鉴了Smalltalk的面向对象和消息机制的思想。Objc 是对消息传递支持的最彻底也最显式的。 Objective-C的类中定义的方法都是消息传递,而且类和消息之间是运行时绑定的,运行时编译器把消息发送转换成对objc_msgSend方法的调用。其它的C++、Java、Python、Ruby都体现的不明显,更倾向于对象的封装和抽象。
Objective-C和C++基本上是两门语言,没有太大的关系。 Objective-C本身是静态语言,编译后就是机器码,执行效率很高,但引入了很多类似Python、Ruby的动态特性,像动态类型推断,id,selector,block等特性,所以又非常灵活。用惯了Java或C++会觉得Objective-C的语法很怪,但是把心放空再去学习这门语言的话,会很快爱上它的消息式的编程风格,加上XCode,无论是写mac应用还是 ios应用,都会非常得心应手。 学习Objective-C不需要有c的背景,倒是学Objective-C的时候顺手可以把C也学了或温习下,由于Objective-C是C的超集,所以在Objective-C环境执行C程序毫无问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式