OC第一节课

作者: CharlesAn | 来源:发表于2015-04-10 18:44 被阅读48次

声明变量;命名要规范 实现变量

  • 方法声明 方法实现

    • 1 .变量声明
@interface Person : NSObject{

//@protected //默认,受保护

@public    //公开,如果想要->访问,需要公开

//@private // 私有

//*因为 name是对象 结构体指针;

//_name 命名规范,[成员变量]的命名规范加下划线

NSString *_name;

// 整形

//typedef long NSInteger;基本类型,不需要*

NSInteger _age;

float _height;
  • 2 .方法声明

方法类型分为+ -:

1.+ 类方法(静态方法)使用类名调用 如:[ Person alloc]

-类方法 使用对象调用 如:[Person22 init]

2. 声明方法 

方法类型(返回值类型)方法名 如:

+ (void)run;

-(void)sayHello;

3. getter/setter方法

getter 与成员变量名称相同(不要下划线),返回值类型:成员变量类型

-(NSString *) name;

-(NSInteger) age;

-(float) height;

setter 以set开头,名字与变量名相同;没有返回值;参数:与类成员变量一致,名称一致

有参数的方法定义格式:

方法类型(返回值类型)方法名:(参数1类型)参数名称

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

-(void)setAge:(NSInteger)age;

4.自定义init方法

-(instancetype) initWithName:(NSString *)name;

-(instancetype) initWithName:(NSString *)name height:(float)height;
  • 变量实现
@implementation Person  // 实现

+ (void)run{

NSLog(@"跑起来了");

}
- (void)sayHello{

NSLog(@"我%ld",_age );

}
//pragma mark - 实现getter/setter

-(NSString *)name{

return _name;

}

-(void)setName:(NSString *)name{

_name = name;

}

- (NSInteger)age{

return _age;

}

-(void)setAge:(NSInteger)age{

_age = age;

}

//pragma marks --初始化变量

-(instancetype) initWithName:(NSString *)name{

self = [super init];

if(self){
//初始化成员变量

_name = name;

_age = 0;

_height = 0.5;

}
return self;

}
-(instancetype) initWithName:(NSString *)name height:(float)height{

self = [super init];

if(self){

//初始化成员变量

_name = name;

_age = 0;

_height = height;

}
return self;

}
-(float) height

{

return _height;

}
  • main 调用
alloc分配调用

Person *person = [Person alloc];

初始化内存

person = [person init];

整合在一起

Person *person22 = [[Person alloc] init];

相关文章

网友评论

    本文标题:OC第一节课

    本文链接:https://www.haomeiwen.com/subject/rgstfttx.html