黑马程序员技术交流社区

标题: 构造方法 [打印本页]

作者: wangxiaoit    时间: 2014-12-17 14:59
标题: 构造方法
构造方法
        1. 什么是构造方法
                用来初始化对象的方法,是一个对象方法 以( - )开头
        2. 为什么重写构造方法
                为了让对象一创建出来,成员变量就会有一些固定的值
        3. 构造方法调用过程
                a. 先调用父类的构造方法 (self = [super init])
                b. 再进场子类内部成员变量的初始化
        4. 创建对象
                方法: Person *p = [Person new];
                等价于: Person *p = [[Person alloc]init];
                         1. 分配存储空间        +alloc
                         2. 初始化                        -init
                说明:
                        1. 调用 +alloc 分配存储空间
                                Person *p1 = [Person alloc];
                        2. 调用-init进行初始化
                                Person *p2 = [p1 init];
               
                重写 -init 方法:
                步骤: 1. 先调用 super 的init方法
                          2. 初始化 当前对象 self
               
  1. - (id)init
  2.                         {
  3.                                 //1. 一定要调用 super 的init方法
  4.                                 self = [super init];        // 当前对象 self
  5.                                 if(self != nil)
  6.                                 {        // 初始化成功
  7.                                         _age = 10;
  8.                                 }
  9.                                 return self;        //返回一个已经初始化完毕的对象
  10.                         }
复制代码




作者: leishui513    时间: 2015-1-11 15:48
为什么要先调用父类的init?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2