Liskov替代原则 - 我在这里违反了吗?

时间:2016-03-25 19:39:11

标签: java oop generics design-principles

我仍在尝试了解LSP。根据我的理解,到目前为止,Subclasses / Subtypes应该能够替换Baseclass / Main类型,并且程序应该完好无损。

我有以下......

find_player

是否违反了LSP?如果没有,在上述过程中会违反LSP的是什么? 另外,这是否违反任何其他原则?这可以通过其他任何方式得到改善吗?

1 个答案:

答案 0 :(得分:1)

你看起来很完美。这里的目标是实现一个类似的实现:

Warehouse<Wheat> wheat = new WheatWH();
Warehouse<Rice> rice = new RiceWH();

然后能够在Warehousewheat上的rice类调用方法,无论它们是哪个子类。到目前为止你所拥有的代码完美无缺,所以我想你肯定是在正确的轨道上。