閱讀140 返回首頁    go 技術社區[雲棲]


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

  上一篇:go Win7 文件夾無法賦權限
  下一篇:go Object-C中的字符串對象1-不可變字符串