【发布时间】:2018-03-13 01:07:09
【问题描述】:
来自 Scott 的 Programming Language Pragmatics
派生类 D 具有其基类的所有成员(数据和子例程) C类。只要D不隐藏任何公开可见的 C 的成员,允许使用 D 类的对象是有意义的 在任何期望 C 类对象的上下文中:我们可能会做的任何事情 想对 C 类的对象做我们也可以对 C 类的对象做 D 类。换句话说,一个不隐藏任何内容的派生类 其基类的公开可见成员是该基类的子类型 类。
如果D 覆盖C 的公共方法,
-
D的覆盖方法是否隐藏C的覆盖方法,以及 - 覆盖是否使
D无法成为C的子类型?
什么可以让派生类隐藏基类的公共方法?
谢谢。
【问题讨论】:
标签: oop inheritance programming-languages computer-science subtype