父类的构造函数在对象的生命中所扮演的角色
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
在创建新对象时,所有继承下来的构造函数都会执行。这代表每个父类都有一个构造函数,且每个构造函数都会在子类对象创建时期执行。
执行new的指令是个重大事件,它会启动构造函数连锁反应。还有,就算是抽象的类也有构造函数。虽然你不能对抽象的类执行new操作,但抽象的类还是父类,因此它的构造函数会在具体子类创建出实例时执行。要记得子类可能会根据父类的状态来继承方法(也就是父类的实例变量)。完整的对象需要也是完整的父类核心,所以这就是为什么父类构造函数必须执行的原因。就算Animal上有些变量是Hippo不会用到的,但Hippo可能会用到某些继承下来的方法,而这些方法必须读取Animal的实例变量。
构造函数在执行的时候,第一件事是去执行它的父类的构造函数,这会连锁反应到Objects个类为止。
在线练习
{$ activeFileHint $}