◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
如何理解具体类与抽象类之间的继承关系?
我们经常会看到这样的表述:“一个具体类继承自一个抽象类,必须实现抽象类中的全部抽象方法。”这表明具体类是抽象类的子类或派生类,抽象类则是具体类的父类或基类。
然而,有些同学提出了疑问:如果 A 继承自 B,那么 B 是否也能被称为 A 的基类或超类?
对此,我们可以从抽象类与普通基类的区别入手来理解。抽象类与普通基类都是基类,但抽象类不能直接实例化,因为它包含抽象方法,需要由子类实现。普通基类则可以被实例化。
因此,抽象类在作为基类时,具有额外的约束条件,即需要子类实现抽象方法。然而,无论抽象类还是普通基类,它们都为子类提供了属性和方法,因此都可以称为父类或基类。
根据这样的理解,我们认为抽象类可以被称为父类、基类或超类,因为它在作为基类时,与普通基类具有相同的身份。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。