A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许本亮 中级黑马   /  2015-11-10 12:01  /  735 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

构造方法:用来初始化对象的方法,是个对象方法,-开头
重写构造方法的目的:为了让对象创建出来,成员变量就会有一些固定的值
重写构造方法的注意点:
1.先调用父类的构造方法([super init])
2.再进行子类内部成员变量的初始化
自定义构造方法
命名规范:
1.一定是对象方法,一定以“-”开头
2.返回值一般是id开头
3.方法名一般以initwith开头
#import <Foundation/Foundation.h>
#import “Person.h”
@interface Person : NSObject
@property NSString *name;
@property int age;
- (id)init;
- initWithName:(NSString *)name;
- initWithAge:(int)age;
- initWithName:(NSString*)name andAge:(int)age;
@end
@implementation Person
- initWithName:(NSString*)name andAge:(int)age
{
if( self = [super init] )
{
   _name = name;
   _age = age;
}
return self;
}
- initWithAge:(int)age
{
  if( self = [super init] )
{
  _age = age;
}
return self;
}
- initWithName:(NSString *)name
{
  if( self = [super init] )
{
   _name =  name;
}
return self;
}
- (id)init
{  if ( self = [super init] )
{
  _name = @“Jack”;
}
return self;
}
@end
int main()
{
@autoreleasepool {
Person *p =  [[Person alloc] initWithName:@“Rose”];
Person *p1 = [[Person alloc] initWithAge:18];
Person *p2 = [[Person alloc] initWithName:@“Rain” andAge:20];
NSLog(@“00000”);   
}
return 0;
}

1 个回复

倒序浏览
面试了没有楼主?什么时候申请面试?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马