黑马程序员学习笔记14_OC之构造方法
1、 new方法分析
之前我们在学习编程中一致用new方法来创建对象并初始化。实际上new方法创建对象分两步。如何创建一个完整的可用对象也同new方法一样分两步:
1> 分配存储空间
2> 初始化
New方法实际上在内部也用了两个方法来完成此事,用类方法+alloc来分配存储空间,用对象方法-init来进行初始化。
我们之前在编程中用到的例如:Person *p = [Person new]是按照如下两步完成的:
Person *p1 = [Person alloc];
Person *p2 = [p1 init];
可以精简为:Person *p =[ [Person alloc] init];要理解好这句话,我们以后创建对象就用这句话。
init 方法即为构造方法,构造方法是用来初始化的方法。
2、 init的重写。有时候我们创建对象的时候不希望它初始化为0,这时我们需要重写init对象方法。重写的方法如下:
这样主函数在执行Person*p =[ [Person alloc] init];时就会给赋初值10了。
1、 上述代码的精简。如下图所示:
5init重写2:在person的基础上再新建一个类student继承person并加入成员no,想要一初始化student就得到年龄为10 ,no为1的学生,在studeng处应该init也重写,代码如下:
1、 自定义构造方法:为了能够以每个都不同的名字创建对象,实例如下:新建一个工程,
这是在person的@implementation中写的
这是在person的@interface中写的,最后一行体现了能够创建对象加赋值在主函数一行中实现。
这是在主函数中写的:
1、 在4的基础上再加入一个student类,继承person并加入成员no,怎样可以用一句话实现创建和初始化?
首先在@interface中要声明,然后再@implementation中要写方法如下:
可以简化为:
6、自定义构造方法的命名规范:一定是对象方法,一定要-开头;返回类型一般是id类型;方法名一般以initWith开头
本文深入解析Objective-C中的构造方法,包括new方法的工作原理、init方法的重写技巧、自定义构造方法的应用等,并通过实例展示如何高效地创建和初始化对象。

513

被折叠的 条评论
为什么被折叠?



