接触过Java的对面向对象应该是熟悉不过了, Objective-C也是面向对象的。
- 类
- 对象
- 变量
- 方法
Objective-c 中如何定义一个类?
.h文件
#import <Foundation/Foundation.h>
@interface Student: NSObject{ //创建学生类继承NSObject
NSString * name;
int age;
}
-(void)setName:(NSString*)nameString; //name set方法
-(void)setAge: (int)ageValue; //age set方法
-(NSString*)getName; //name get 方法
-(NSString*)getAge; //age get方法
@end;
.m文件
@implementation Student
-(void)setName:(NSString*) nameString{ //实现setName方法
if(nameString!= nil){
[name relelase] ; //释放原来的name
[nameString retain]; //保留nameString
name = nameString;
}
}
-(void)setAge: (int)ageValue {
age = ageValue;
}
-(NSString*)getName {
return name;
}
- (int) getAge {
return age;
}
@end;
实例化类对象 (.m文件)
#import <Foundation/Foundation.h>
int main(int argc,const char*argv[]){
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] intit ];
Student *student = [[SKPerson alloc] init]; //初始化对象
[student setName:@"SuperDo"];
[student setAge:25];
[student release];
[pool release];
return 0;
}
在上面的.h文件中我们对一个属性的get set 一一申明,然后在.m文件中一一实现,其实在Objective-c 中有便捷的写法,我们改写下
.h文件
#import <Foundation/Foundation.h>
@interface Student: NSObject{ //创建学生类继承NSObject
NSString * name;
int age;
}
@property (nonatomic,retain) NSString* name; //一行代码就申明了 setName 和 getName
@property (nonatomic,assign)int age; //一行代码就申明了 setAge 和 getAge
@end;
@implementation Student
@synthesize name; //一行代码就实现了 setName 和 getName
@synthesize age; //一行代码就实现了 setName 和 getName
@end;
本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4526629.html