子类可以使用 super(parameter-list); 形式调用其超类定义的构造函数。
parameter-list 必须指定超类构造函数所需的参数。
子类构造函数中执行的第一条语句必须始终是 super(); (或者 super(parameter-list); 如果需要传递参数)。
以下是 TwoDShape 的一个版本,带有初始化宽度和高度的构造函数。
Triangle 子类使用 super(w, h) 调用 TwoDShape 超类的构造函数,传递 w 和 h 的值。
TwoDShape 的构造函数使用这些值初始化宽度和高度。
Triangle 子类不需要初始化宽度和高度,只需要初始化样式值,该值是它独有的。
使用 super( ) 允许超类 (TwoDShape) 根据需要构造自己的子对象并添加功能,而子类不需要了解详细信息。
超类定义的每种形式的构造函数都可以用 super( ) 调用。执行的构造函数将是其参数与给定参数匹配的构造函数。
以下示例显示了 TwoDShape 和 Triangle 的扩展版本,其中包含默认构造函数和采用一个参数的构造函数。
调用超类构造函数:当子类调用 super( ) 时,它会调用其直接超类的构造函数。
对直接超类的引用:super( ) 始终引用紧邻调用它的类之上的超类,即使在多级层次结构中也是如此。
构造函数中的第一条指令:super( ) 必须是子类的构造函数中执行的第一条指令。这确保了对象的超类部分在子类构造函数执行自己的代码之前被初始化。
以上是使用 super 调用超类构造函数的详细内容。更多信息请关注PHP中文网其他相关文章!