您的位置:首页 > 职场人生

黑马程序员---学习笔记22:OC基础(9)

2015-08-20 13:17 211 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
——-

构造方法:

用来初始化对象的方法,是个对象方法。

重写构造方法的目的:为了让对象创建出来成员变量就会有一些固定的值。

Person *p2 = [[Person alloc] init];(==[Person new])

OC中给对象进行初始化的方法是:init(对象方法,返回的是一个对象(调用init方法的对象))

OC中的构造方法主要学习:1)如何重写构造方法,目的让对象创建成功后就有初始值

重写构造方法:

[[Person alloc] init]第一个括号是分配存储空间,第二个括号是初始化成员变量,然后返回一个对象

-(instancetype)init{

//先让父类把父类的事情做完

Self = [super init];//防止父类的初始化方法release掉了self指向的空间重新alloc一块空间,这样的话,[super init]可能alloc失败,这时就不再执行if的语句了

//判断父类是否初始化成功

If(self){

//此处写子类初始化话代码

_age=10;//给年龄设置初始值10

}

Return self;//self代指的是方法的调用者

}

Super的使用:

[super run];在子类方法中调用父类的方法

自定义构造方法:

1) 一定是对象方法

2) 返回值一般 是id类型

3) 方法名一般以initWithXXXXXX

例:-(instancetype) initWithName: (NSString *) name andAge: (int) age;

实现的方法和之前讲到一样。

If(self=[super init]){

_name=name;//必须是形参赋值给成员变量,因为这是自定义初始化,不是简单的init初始化,是另外自己定义的方法,必须有传递进变量的入口。

_age =age;

}

调用:Person *p1=[[Person alloc] initWithName:@”张三丰” andAge:18];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: