A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangxiaoit 中级黑马   /  2014-12-17 14:59  /  1187 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

构造方法
        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.                         }
复制代码



1 个回复

倒序浏览
为什么要先调用父类的init?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马