Update 09-Polymorphism.md

This commit is contained in:
heyahui
2020-01-08 21:50:20 +08:00
committed by GitHub
parent 8cf319e928
commit 110584cd8e

View File

@@ -723,9 +723,9 @@ Sandwich()
从创建 **Sandwich** 对象的输出中可以看出对象的构造器调用顺序如下:
1. 基类构造器被调用。这个步骤重复递归,直到根基类的构造器被调用,然后是它的派生类,以此类推,直到最底层的派生类构造器被调用
1. 基类构造器被调用。这个步骤被递归地重复,这样一来类层次的顶级父类会被最先构造,然后是它的派生类,以此类推,直到最底层的派生类。
2. 按声明顺序初始化成员。
3. 最终调用派生类构造器。
3. 调用派生类构造器的方法体
构造器的调用顺序很重要。当使用继承时,就已经知道了基类的一切,并可以访问基类中任意 **public****protected** 的成员。这意味着在派生类中可以假定所有的基类成员都是有效的。在一个标准方法中,构造动作已经发生过,对象其他部分的所有成员都已经创建好。