我理解压倒一切的作用及其作用.我不明白的是,如果课程设计"正确",为什么有人需要使用它?
例如,假设我有一个名为Animal的类,我添加了一个说话方法.然后,我有几个继承动物的课程,如牛,狗和猫.但这些"说话"中的每一个都不同.奶牛做:system.out.println("moo").狗做"woof",猫做"喵".
我的问题是,如果奶牛,狗和猫都必须覆盖说话方法,那为什么我甚至会首先在动物课上说话呢?
我曾尝试在线和Stackoverflow上研究原因,但似乎没有人给我一个具体的答案.我最好的是我应该真正使用一个接口(来自声称从具体类扩展的帖子是EVIL).