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

——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];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值