可以认为Objective -C 是另一个版本的C++,也就是它彩了与c++不同的语法,但也实现了面向对象。
NextStep 是一个使用Objective-c语言编写的功能强大的工具包,里面有大量的类库,结构体等,被苹果收购后,更名为Cocoa,但没有改类库的名称,因此有很多以NS为前缀的类名,结构体,枚举等。在Objective-C中使用前缀可以有效防止名称冲突。
Cocoa 框架由Foundation Kit\ App kit 两 部分组成,前者是基础工具库,是你必须首先要学会的,后者主要是UI库\高级对象等,
类定义:
在objective-c中必须先定义一个接口,该接口用于描述这个类的组成,包含成员变量\类变量\类方法\成员方法\接口文件的扩展名为.h,也就是定义为C语言中的头文件。
Fraction.m
#import <Foundation/Foundation.h> import 如果想从当前目录查找Header文件,找不到就到系统的头文件库中查找,请使用 #import "Header 文件" 如果只想从系统的头文件库中查找,请使用#import<Header 文件> Foundation/Foundation.h包含了Foundation kit 中所有的头文件定义,GNUStep的Objective-C的Foundation头文件在GNUStep安装目录\GNUstep\System\Library\Headers\Foundation文件夹。
GNUStep的Objective-C 的Appkit头文件在
\GNUstep\System\Library\Headers\AppKit
static int t =0; static 标识的类变量定义在接口的外面,类变量只能本变访问,除非提供方法给外部访问这个类变量。
@interface Fraction: NSObject {
int number;
@public int denominator;
}
Objective-C中的@+指令表示C语言之外的Objective-C语法,因此@interface 表示定义了一个接口,接口名称之后紧跟 一个冒号,冒号后是父类的名字,Objective-C中的顶级父类是NSObject
接口 定义后面的一对{}其中定义了成员变量,所谓的成员变量就相当于Java中的实例变量,从已禾口