Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充
C
的
面向对象编程语言
。它主要使用于
Mac OS X
和GNUstep这两个使用OpenStep标准的系统,而在
NeXTSTEP
和OpenStep中它更是基本语言。Objective-C可以在
gcc
运作的系统写和
编译
,因为gcc含Objective-C的
编译器
。
@H_404_28@
Objective-C的最初版本并不支持垃圾回收
。在当时这是争论的焦点之一,很多人考虑到Smalltalk回收时有漫长的“
死亡时间
”,令整个系统失去功用。Objective-C为避免此问题才不拥有这个功能。虽然某些
第三方
版本已加入这个功能(尤是GNUstep),
Apple
在其Mac OS X 10.3中仍未引入这个功能。
@H_404_28@
另一个问题是ObjC不包括命名空间机制(namespace mechanism)。取而代之的是程序设计师必须在其类别名称加上前缀,时常引致冲突。在2004年,在
Cocoa
编程环境中,所有Mac OS X类别和函式均有“NS”作为前缀,例如NSObject或NSButton来清楚分办它们属于Mac OS X核心;使用“NS”是由于这些类别的名称在NeXTSTEP开发时定下。
@H_404_28@