我仍在尝试了解LSP。根据我的理解,到目前为止,Subclasses / Subtypes应该能够替换Baseclass / Main类型,并且程序应该完好无损。
我有以下......
find_player
是否违反了LSP?如果没有,在上述过程中会违反LSP的是什么? 另外,这是否违反任何其他原则?这可以通过其他任何方式得到改善吗?
答案 0 :(得分:1)
你看起来很完美。这里的目标是实现一个类似的实现:
Warehouse<Wheat> wheat = new WheatWH();
Warehouse<Rice> rice = new RiceWH();
然后能够在Warehouse
和wheat
上的rice
类调用方法,无论它们是哪个子类。到目前为止你所拥有的代码完美无缺,所以我想你肯定是在正确的轨道上。