现在的位置: 首页 > 综合 > 正文

Object-C中的类-类的声明

2014年11月21日 ⁄ 综合 ⁄ 共 977字 ⁄ 字号 评论关闭

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 
【上篇】
【下篇】

抱歉!评论已关闭.