2.3 Objective-C
Objective-C是一种通用、高级、面向对象的编程语言,扩展了标准的ANSI C编程语言,并且将Smalltalk式的消息传递机制加入到ANSI C中。是苹果的OS X和iOS操作系统,及其相关的API、Cocoa和Cocoa Touch的主要编程语言[5]。
Objective-C最初源于 NeXTSTEP 操作系统,之后在OS X和iOS继承下来。目前主要支持的编译器有GCC和LLVM(采用Clang作为前端),苹果公司在Xcode4.0之后均采用LLVM作为默认的编译器。最新的Objective-C特性也都率先在Clang上实现。
Objective-C是C语言的超集,即C语言程序不经修改就可以直接通过Objective-C编译器。所有其他非面向对象的语法,包括变量类型、预处理器(preprocessing)、流程控制、函数声明与调用均与C语言完全一致[16]。
Objective-C最大的特色是承自Smalltalk的信息传递模型(message passing)。在Objective-C中,类型与信息的关系比较松散,调用方法视为对对象发送信息,所有方法都被视为对信息的回应。所有信息处理直到运行时(runtime)才会动态决定,并交由该类型自行决定如何处理收到的信息。即一个类型不保证一定会回应收到的信息,但如果类型收到了一个无法处理的信息,程序只会抛出异常,不会出错或崩溃。
Objective-C中强制要求将类的定义(interface)与实现(implementation)分为两个部分。类的定义文件遵循C语言之惯例以.h为后缀,实现文件以.m为后缀[17]。定义部分,清楚定义了类的名称、数据成员和方法。以关键字@interface作为开始,@end作为结束。方法前面的+/-号代表函数的类型:加号(+)代表类方法(class method),不需要实例就可以调用,与C++的静态函数(static member function)相似。减号(-)即是一般的实例方法(instance method)。Objective-C定义一个新的方法时,名称内的冒号(:)代表参数传递。Objective-C方法使得参数可以夹杂于名称中间,不必全部附缀于方法名称的尾端,提高了程序可读性。 基于iOS的移动医疗系统客户端设计与实现(5):http://www.751com.cn/jisuanji/lunwen_16629.html