您的位置:首页 > 移动开发 > Objective-C

Objective-C 入门(二)对象 类 变量 方法

2011-12-19 15:30 281 查看
学过Java 的 面向对象比较熟悉 Objective-C也是面向对象的

我们来看Objective-c所表达的方式

先写一个类:我们看到这个类里只有熟悉和方法名字 并没用去实现 .文件

#import <Foundation/Foundation.h>

@interface SKPerson: NSObject{ //创建类

NSString * name; //NSString* 属性

int age; //int 属性

}

-(void)setName:(NSString*) n; //set get 方法

-(void)setAge: (int)a;

-(NSString*)name;

- (void) go;

@end;

实现这个类的代码 .m 文件

@implementation SKPerson

-(void)setName:(NSString*) n{ //实现setName方法

If(n!=nil){

[n retain] //拿住这个对象

[ name release] //释放原来的对象

name=n;

}

}

-(void)setAge: (int)a{

Age=a;

}

-(NSString*)name{

return name;

}

- (void) go{

NSLog(@"This is a method");

}

@end;

实例化类对象的方法 .m 文件

#import <Foundation/Foundation.h>

int main(int argc,const char*argv[]){

NSAutoreleasePool * pool=[[NSAutoreleasePool alloc] intit ];

SKPerson * skyoceanone;

skyoceanone=[[SKPerson alloc] init]; //也可以写成[SKPerson new]不建议

[skyoceanone setName:@"sky"];

[skyoceanone setAge:25];

[skyoceanone go];

[skyoceanone release];

[pool drain];

return 0;

}

NSString * 类型 是一个指针类型 它指向的是字符串的内存地址 OC 的代码 就是指针类型 (以后会做详细的解析指针)

然后为变量生成 get 和 set 方法 (get字母被省略) OC中不能自动生成get和set 下面介绍 另一种方法来生成get set

属性访问器:





-(void)setName:(NSString*) n;

-(void)setAge: (int)a;

-(NSString*)name;

可以写成:

@propert (retain) NSString* name; //一行代码就实现了 set 和 get

@propert (assign) int age;

实习方法的代码可以写成:

@synthesize name;

@synthesize age;

使用方法可以写成:

Skyoceanone.name=@"sky"; //set 方法

Skyoceanone.age=25;

Skyoceanone.age; //没有=号 就相当于 使用了get方法



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐