Objective-C语言

来源:互联网 发布:java中什么是策略模式 编辑:程序博客网 时间:2024/05/14 06:15

Objective-C语言是编写iOS/Mac程序的主要语言。编写iOS/Mac程序,除了Objective-C,还可以混合使用C/C++,另外也可以嵌入一些脚本语言。但在UI部分,使用Objective-C最为直接自然。

Objective-C的缺点

初学iOS开发,第一个门槛就是Objective-C的语法,它的语法跟主流的语言十分不同。有些人甚至觉得它的语法丑陋得无法忍受。另外,Objective-C的代码看起来比较啰嗦。如同一个人,看起来怪怪的,不太合群,熟悉之后又显得太过唠叨。

Objective-C缺少一些语言的保护机制,成员函数不区分公有私有,且没有命名空间。模块与模块之间需要加前缀来区分,比如Foundation模块类前面都加上NS前缀,表示NextStep。

Objective-C兼容C语言。因此C语言很多设计不合理的地方也被引入了Objective-C中。另外,Objective-C没有采用GC(垃圾回收),它的内存管理采用引用计数的方式,后期引入ARC (自动引用计数),这种内存管理方式相比GC而言,对程序员的要求较高。

当然,Objective-C也有很多优点。甚至可以说Objective-C的某些缺点,从另一角度看,恰恰是它的优点。

 

Objective-C和C++都是C语言的扩展。C++十多年前就已名满天下,而Objective-C虽然也诞生了二十多年,但在iPhone发布之前,一直不温不火。

这两种语言都支持面向对象,设计理念却十分不同。C++的面向对象部分更强调类型,需要知道对象的类型才能调用对象的函数。而Objective-C则更强调消息的发送。另外,C++很看重运行速度,运行时基本不包含类型信息,整个运行环境是静态的。而Objective-C则牺牲了一点运行速度,换来更加灵活、完全动态的运行时环境。

0 0
原创粉丝点击