objective-c(接口&实现)

时间:2024-04-15 08:04:56

objective-c在xcode6下的例子:

  • 定义接口
#import <Foundation/Foundation.h> //基础库,类似C中的stdlib

typedef enum eType {type1 = ,type2,type3} ETYPE; //OC中对enum、#define、typedef的使用与在C中基本无差异

@interface Teacher : NSObject{
int tid;
NSString *name;
ETYPE type;
}

//peoperty定义这个类的属性,这些属性替代了java中getXXX的方法;
@property int tid;
@property NSString *name;
@property ETYPE type; -(void) setName: (NSString*)name andId:(int)tid andType:(ETYPE)type;
-(void) print; @end
  • 实现
#import "Teacher.h"

#import <Foundation/Foundation.h>

@implementation Teacher

@synthesize tid,name,type; //标示所声明的属性

-(void)setName:(NSString *)inputname andId:(int)inputtid andType:(ETYPE)inputtype{
self.tid = inputtid; //self相当于this
self.name = inputname;
self.type = inputtype;
} -(void) print{
NSLog(@"%@ and %i and type %i", self.name,self.tid,self.type);
} @end
  • 测试
#import <Foundation/Foundation.h>
#import "Student.h"
#import "Teacher.h" int main(int argc, const char * argv[]) {
@autoreleasepool { Student *tmp1 = [[Student alloc]init];
[tmp1 setName:@"fredric" andId:];
//id object
id data; //指向NSObject的指针,下面这个例子可以实现类似多态的功能
data = tmp1;
[data print];
}
return ;
}