纯粹替代
如果继承只覆盖基类方法,不添加新方法,这时候基类和导出类是完全相同的类型,接口完全相同。称之为“纯粹替代”或者“替代原则”。
在这种情况下,替代类和基类是 is-a (是一个) 关系。比如“一个圆形是一个几何形状”。换句话说,判断是否是继承,就是确定是否可以用 is-a 来描述类之间的关系,并使之有实际意义。
导出类添加新方法
在导出类中增加新的方法,即在添加的新的接口,这时候导出类和基类就是 is-like-a 的关系。因为新类型有基类的接口,但是又包含新的接口,不能说他们完全相同。