06-构造方法

1、构造方法概念

  用来初始化对象的方法,是个对象方法,- 开头,init 就是构造方法。

Person *p = [Person new];

new方法做了两件事(完整地创建一个可用的对象)

  1> 分配存储空间    +alloc

  2> 初始化(new方法默认初始化为0)  -init

本质上:new方法调用了2个方法 +allloc(类方法) 和 - init(对象方法)

  (1)  调用+alloc分配存储空间

     Person *p1 = [Person alloc];

  (2)  调用-init进行初始化

      Person *p2 = [p1 init];

写成一句 Person *p3 = [[Person alloc] init]; 

以后我们创建对象都用alloc 和 init,例如: Person *p = [[Person alloc] init]; 

2、重写init方法  

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

重写构造方法的注意点:

1>先调用父类的构造方法([super init])

2>再进行子类内部成员变量的初始化

1 - (id)init
2 {
3     if(self = [super init])
4   {
5     _age = 1;
6   }
7      return self;
8 }
人生之路,不忘初心,勿忘始终!
原文地址:https://www.cnblogs.com/xdl745464047/p/4002043.html