3.1 最耀眼的新星

知识点讲解光盘:视频\知识点\第3章\最耀眼的新星.mp4

在过去的两年中,Objective-C的占有率连续攀升,在2012年1月,成为了仅次于Java、C、C#和C++之后的一门编程语言。在本节将带领大家一起探寻Objective-C如此火爆的秘密。

3.1.1 究竟何为Objective-C

Objective-C是苹果Mac OS X系统上开发的首选语言。Mac OS X技术来源自NextStep的OpenStep操作系统,而OPENSTEP的软件架构都是用Objetive-C语言编写的。这样,Objective-C就理所当然地成为了Mac OS X上的最佳语言。

Objective-C诞生于1986年,Brad Cox在第一个纯面向对象语言Smalltalk的基础上写成了Objective-C语言。后来Brad Cox创立了StepStone公司,专门负责Objective-C语言的推广。

1988年,Steve Jobs的NextStep采用Objective-C作为开发语言。

1992年,在GNU GCC编译器中包含了对Objective-C的支持。在这以后相当长的时间内,Objective-C语言得到了很多程序员的认可,并且很多是编程界的高人,例如Richard Stallman、Dennis Glating等人。

Objective-C通常被写为ObjC、Objective C或Obj-C,是一门扩充了C语言的面向对象编程语言。Objective-C语言推出后,主要被用在如下两个使用OpenStep标准的平台上。

❑Mac OS X。

❑GNUstep。

除此之外,在NeXTSTEP和OpenStep中,Objective-C语言也被作为基本语言来使用。在gcc运作的系统中,可以实现Objective-C的编写和编译,因为gcc包含Objective-C的编译器。

3.1.2 为什么选择Objective-C

iOS选择Objective-C作为开发语言,有许多方面的原因,具体来说有如下4点。

(1)面向对象

Objective-C语言是一门面向对象的语言,功能十分强大。在Cocoa框架中的很多功能,只能通过面向对象的技术来呈现,所以Objective-C一开始就是为了满足面向对象而设计的。

(2)融合性好

从严格意义讲,Objective-C语言是标准C语言的一个超集。当前使用的C程序无需重新开发就可以使用Cocoa软件框架,并且开发者可以在Objective-C中使用C的所有特性。

(3)简单易用

Objective-C是一种简洁的语言,它的语法简单,易于学习。但是另一方面,因为易于混淆的术语以及抽象设计的重要性,对于初学者来说可能学习面向对象编程的过程比较漫长。要想学好Objective-C这种结构良好的语言,需要付出很多汗水和精力。

(4)动态机制支持

Objective-C和其他的基于标准C语言的面向对象语言相比,对动态的机制支持更为彻底。专业的编译器为运行环境保留了很多对象本身的数据信息,所以在编译某些程序时可以将选择推迟到运行时来决定。正是基于此特性,使得基于Objective-C的程序非常灵活和强大。例如,与普通面向对象语言相比Objective-C的动态机制有如下两个优点。

❑Objective-C语言支持开放式的动态绑定,这有助于交互式用户接口架构的简单化。例如在Objective-C程序中发送消息时,不但无需考虑消息接收者的类,而且也无需考虑方法的名字。这样可以允许用户在运行时再做出决定,也给开发人员带来了极大的设计自由。

❑Objective-C语言的动态机制成就了各种复杂的开发工具。运行环境提供了访问运行中程序数据的接口,所以使得开发工具监控Objective-C程序成为可能。