黑马程序员技术交流社区
标题:
关于init
[打印本页]
作者:
云霄之上
时间:
2014-7-18 20:14
标题:
关于init
重写init时为什么一定要先把父类初始化一下
作者:
fantacyleo
时间:
2014-7-18 20:19
必须的啊。子类继承了父类定义的成员变量。谁对这些成员变量的初始化最清楚?显然是父类
作者:
YKS
时间:
2014-7-18 20:35
不alloc,怎么init
作者:
小海
时间:
2014-7-18 20:45
一楼的说的对,初始化父类一般就是为了得到父类中成员变量和方法,因为我们可能只是部分初始化
作者:
大龄产妇
时间:
2014-7-18 21:35
这个问题要从 alloc 和 init 的作用说起。
alloc是申请内存空间 init 则是创建对象。
也就是init后就有个实体化的对象了,这也是类方法与对象方法的区别。
至于为什么要初始化父类,是要一个父类的实体而不是虚拟的类。
有了实体后,在这基础上进行重构,也就是重写。
个人理解,有不对的地方请指出。
作者:
阳光地带
时间:
2014-7-18 22:04
并不是初始化父类。子类继承了父类的初始化方法,使用父类的初始化方法初始化父类的那部分数据,然后再初始化子类中的数据。
作者:
istream
时间:
2014-7-19 15:00
如果学过C++这个问题就太容易理解了。简单的讲,子类通过继承来的数据成员需要进行初始化,所以需要调用父类的init函数对继承来的数据成员进行初始化,然后再对自己类中定义的数据成员初始化。
作者:
秋天的悲伤
时间:
2014-7-19 19:56
你在写init方法时,只是对当前类作了一些初始化操作,对于父类的一些成员变量的初始化操作并没有实现,所以要先初始化父类的一些信息。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2