W e S D
0 1

[Objective-c] 002_对象 类 变量 方法

接触过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;

实例化类对象 (main.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

 

 

posted @ 2015-05-24 22:21  SD.Team  阅读(463)  评论(0编辑  收藏  举报