Final Tests of Chapter 7

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

内容提要

文章介绍了面向对象编程中的继承和多态性,讲解了超类和子类的访问权限、使用`super`初始化超类、阻止子类访问超类成员的方法。还讨论了构造函数的执行顺序、超类引用子类对象的意义、抽象类的定义及方法覆盖的限制,并提到所有类的超类和声明常量的关键字。

🎯

关键要点

  • 超类可以访问子类的成员,子类也可以访问超类的成员。

  • 示例:创建一个名为Circle的子类,包含计算圆面积的方法和使用super初始化TwoDShape的构造函数。

  • 可以通过特定方法阻止子类访问超类的成员。

  • 讨论了super的两种版本的目的和应用。

  • 构造函数的执行顺序是从超类到子类,实例化Gamma对象时的执行顺序需明确。

  • 超类引用子类对象的重要性在于支持方法的重写。

  • 抽象类的定义及其特性。

  • 可以通过特定方法阻止方法的重写和类的继承。

  • 继承、方法重写和抽象类的使用支持多态性。

  • Object类是所有类的超类。

  • 包含至少一个抽象方法的类必须声明为抽象类。

  • 声明常量的关键字是final。

延伸问答

超类和子类之间的访问权限是怎样的?

超类可以访问子类的成员,子类也可以访问超类的成员。

如何使用super初始化超类?

可以在子类的构造函数中使用super来初始化超类的部分。

构造函数的执行顺序是怎样的?

构造函数的执行顺序是从超类到子类。

什么是抽象类?

抽象类是包含至少一个抽象方法的类,必须声明为抽象类。

如何阻止子类访问超类的成员?

可以通过特定方法来阻止子类访问超类的成员。

多态性是如何通过继承和方法重写实现的?

继承、方法重写和抽象类的使用支持多态性。

➡️

继续阅读