Object C语法

1.#import与#include类似,但是在编译相同的单元时不会被多次包括进行.

2.编辑对象

/* Speak.h */ 
 #import <objc/Object.h> 
@interface Speak: Object { 
     char* string; 
} 
 - setString: (char*) str; 
- say; 
- free; 
@end
Object类是Objective-C类的超类.  Speak类由编译程序指示字@interface和@end包围.定义内部是花括号包围的代码块. 数据块后是类方法定义.每个方法用减号说明.
/* Speak.m */ #import "Speak.h" @implementation Speak + new {       self = [supper new];       [self setString: ""];        return self; } - setString: (char*) str {        string = str;        return self; }  - say {      printf("%s/n", string);       return self; } - free {       return [super free]; }   /* hellowobject.m */ #import <objc/Object.h> #import "Speak.h" main() {       id speak;        speak = [Speak new];        [speak setString: "hello, world"];       [speak say];       [speak free];  }
编译器指示字@implementation说明源文件包含的是Speak类方法实现. 减号开头的是实例方法,只能被已经存在的对象调用; 任何时候都可以调用+开头的方法. 大多数方法返回的类型是id, 因此都返回的是self,这是对象自己引用自己的一种方法.

3.编译方法

gcc -Wno-import hellobject.m Speak.m -lobjc -o helloobject 

4.预定义类型

BOOL, id, IMP, nil, Nil, SEL, STR     

5.生成新的接口声明

gcc -Wno-import -gen-delcs -c Speak.m 就会生成w.decl内容如下:
#import <objc/Object.h>   @interface Speak: Object     {           char* string;     }  - setString: (char*) str;  - say;  - free;  + new;  @end

你可能感兴趣的:(c,object,String,gcc,interface,编译器)