1.new方法实现原理 完整的创建一个可用的对象:Person *p=[Person new]; new方法的内部会分别调用两个方法来完成3件事情: (1)使用alloc方法来分配存储空间(返回分配的对象); (2)使用init方法来对对象进行初始化。 (3)返回对象的首地址 可以把new方法拆开如下: (1)调用类方法+alloc分配存储空间,返回未经初始化的对象```Person *p1=[person alloc]; (2)调用对象方法-init进行初始化,返回对象本身 Person *p2=[p1 init]; (3)以上两个过程整合为一句:```Person *p=[[Person alloc] init]; init方法是初始化方法(构造方法),用来对象成员变量进行初始化,默认实现是一个空方法。 所以下面两句的作用是等价的 Person *p1 = [Person new]; Person *p = [[Person alloc] init]; 2.重写init方法- 想在对象创建完毕后,成员变量马上就有一些默认的值就可以重写init方法 重写init方法格式: - (id)init { self = [super init]; if (self) { // In |
new到构造方法
最新推荐文章于 2022-07-22 07:39:21 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)