Objective-C的历史
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
作为编程语言来说,Objective-C
有悠久的历史。20世纪80年代早期Objective-C被Stepstone公司发明,作者是Brad Cox和Tom Love。80年代后期,NeXT计算机有限责任公司获得了使用Objective-C
来开发NeXTStep
框架的授权,也就是后来的Cocoa
。
Objective-C
是非常“实际”的语言。它使用一个用C写成的、很小的运行库,使用其开发的应用程序占用空间会很小。和大部分面向对象的系统使用极大的虚拟机的执行时间取代整个系统的运作相反,用Objective-C写成的程序通常不会比其原始码大很多。
Objective-C
的最初版本并不支持垃圾回收,虽然某些第三方版本已加入这个功能, 苹果公司在其Mac OS X 10.3
中仍未引入这个功能。
另一个问题是Objective-C不包括命名空间机制(namespace mechanism
),取而代之的是程序设计师必须在其类别名称加上前缀,时常引致冲突。在2004年,在Cocoa
编程环境中,所有Mac OS X
类别和函数式均有“NS”
作为前缀,例如,NSButton或CGImageRef就能清楚知道NSButton属于UIKit
框架而CGImageRef属于Core Graphics
框架。使用“NS”
是由于这些类别的名称在NeXTSTEP开发时定下。
和C++不同,Objective-C不支持运算符重载。但和Java相同,Objective-C只容许对象继承一个类别(不设多重继承)。
在线练习
{$ activeFileHint $}