java继承中的等价和类似关系

子类继承父类后,子类因为有与父类完全相同的接口,所以子类和父类的类型是相同的。
导致,可以将子类的一个对象换成父类的一个对象。这个时候可以认为子类和父类是一种“等价”关系。

但当子类继承父类之后新增了一些接口,尽管这个子类仍能替换父类,但替换是不完全的
因为不可以在父类中访问新函数,将这种称为“类似”关系。
举个例子 来说,让我们考虑一下制冷机的情况。假定我们的房间连好了用于制冷的各种控制器;也就是说,我们已拥 有必要的“接口”来控制制冷。现在假设机器出了故障,我们把它换成一台新型的冷、热两用空调,冬天和 夏天均可使用。冷、热空调“类似”制冷机,但能做更多的事情。由于我们的房间只安装了控制制冷的设 备,所以它们只限于同新机器的制冷部分打交道。新机器的接口已得到了扩展,但现有的系统并不知道除原 始接口以外的任何东西。 

猜你喜欢

转载自blog.csdn.net/Chenzd293/article/details/80082597