使用 super 调用父类构造函数

💡 原文约300字/词,阅读约需1分钟。
📝

内容提要

子类可以使用super()调用其父类定义的构造函数。super()的参数列表应指定父类构造函数所需的参数。子类构造函数中的第一条语句应始终是super()(或super(参数列表)),以便传递参数。使用super()允许父类根据需要构建其自己的子对象并添加功能,而无需子类了解细节。可以使用super()调用父类定义的任何构造函数。调用的构造函数将是与提供的参数相匹配的构造函数。

🎯

关键要点

  • 子类可以使用super()调用其父类定义的构造函数。
  • 参数列表应指定父类构造函数所需的参数。
  • 子类构造函数中的第一条语句应始终是super()或super(参数列表)。
  • 子类Triangle使用super(w, h)调用父类TwoDShape的构造函数。
  • TwoDShape的构造函数初始化width和height。
  • Triangle只需初始化style,width和height由父类处理。
  • 使用super()允许父类构建自己的子对象并添加功能,而无需子类了解细节。
  • 可以使用super()调用父类定义的任何构造函数,执行的构造函数将与提供的参数匹配。
  • super()引用的是直接父类,即使在多层次的继承中也是如此。
  • super()必须是子类构造函数中执行的第一条语句,以确保父类部分被初始化。

延伸问答

如何在子类中使用super()调用父类构造函数?

在子类构造函数中,第一条语句应始终是super()或super(参数列表),以调用父类构造函数并传递必要的参数。

super()的参数列表需要包含什么?

参数列表应指定父类构造函数所需的参数,以便正确初始化父类的属性。

使用super()有什么好处?

使用super()允许父类构建自己的子对象并添加功能,而无需子类了解实现细节。

在多层次继承中,super()引用的是哪个类?

super()引用的是直接父类,即使在多层次的继承中也是如此。

Triangle类是如何使用super()的?

Triangle类使用super(w, h)调用父类TwoDShape的构造函数,传递宽度和高度的值。

为什么super()必须是子类构造函数中的第一条语句?

super()必须是第一条语句,以确保父类部分被初始化,之后才能执行子类的构造代码。

🏷️

标签

➡️

继续阅读