本帖最后由 zfan 于 2014-5-7 05:13 编辑
当创建了一个子类对象时,该对象内部包含了一个父类的"子对象",这个被包含的父类"子对象"和你用父类直接创建出的对象是一样的。唯一区别是,父类的"子对象"被包装在子类对象的内部。这种创建是向外扩散的,先建立最根部的父类"子对象",然后一层一层向外建立并返回子类对象。就好像俄罗斯套娃的结构,先建立最里面的的人偶,然后层层向外包裹返回,每包裹一层就加上一层子类的属性和方法(包括重写父类的方法),最终返回一个完整的子类对象。这也是我理解的self=[super init]的实质。 PS:看到楼下的质疑了,回去又查了查资料,确实没有生成父类对象,我的理解有误,抱歉,看来自己还是要加强学习啊 |