140
技術社區[雲棲]
Object-C中的類-類的聲明
1.關鍵字命名:為了避免與已有的c,C++關鍵字衝突,ObjectC關鍵字都有@開始:
如:@classs,@interface,@private,@try,@catch,@protocol等。
2.oc類分為2個文件,一個是.h文件,一個是.m文件:
.h文件:存放類,函數的申明;類申明使用關鍵字@interface @end來申明;
.m文件:存放類的具體實現;類實現使用關鍵字@implementation @end來實現;
3.對象的方法和類的方法:
+表示類的方法;
-表示對象的方法
4.類的申明 Dog.h:
#import<Foundation/Foundation.h>
@interface Dog:NSObject{
}
@end
5.類的實現 Dog.m:
#import "Dog.h"
@implementation Dog
@end
6.創建和銷毀OC對象:
創建對象:Dog *dog=[Dog alloc];//申明對象必須要帶*號,即代表指針,也代表引用
初始化:[dog init];
銷毀對象:[dog release];
7.類中的字段和函數:
@interface Dog:NSObject
{
//字段定義在此int age;
}
//函數定義在此:OC的函數全部是public類型的,可以用其他方式實現私有函數
-(void)setAge:(int)newAge;
@end
8.完整實例:
//Dog.h 類申明文件 #import<Foundation/Foundation.h> @interface Dog:NSObject{ int age; } -(id)init; -(id)initWidthAge:(int)newAge; -(int)getAge; -(void)setAge:(int)newAge; @end //Dog.m 類的實現 #import "Dog.h" @implementation Dog -(id)init{ return [self initWithAge:10]; } -(id)initWithAge:(int)newAge{ self=[super init]; if(self){ age=newAge; } return self; } -(int)getAge{ return age; } -(void)setAge:(int)newAge{ age=newAge; } @end
最後更新:2017-04-03 12:55:04