这是一个Java问题,我能够使用这个概念,但不知道它为什么会起作用。我写了一个类似
的方法private typeA someMethod()
{
//do some stuff
typeB someOtherObject; //here, typeB implements typeA
//do some more stuff
return someOtherObject;
}
它有效!我不太清楚为什么会这样。是接口是C ++的多重继承的Java等价物吗? (我在JFreeChart演示中执行了一些代码,然后用它来编写我的一个应用程序。)
答案 0 :(得分:3)
它有效,因为TypeB
是 TypeA
。在需要TypeA
的任何地方,都可以替换TypeB
。
要进一步阅读(不是特定于Java),请参阅Liskov substitution principle。