在纸上,多态的想法听起来很棒。在现实生活中,有人加入了一个新项目并开始处理以下代码:
class Tom extends Cat implements Male {
temperature temperature = Tom.getTemperature();
..............
class Cat extends Feline{
..............
class Feline extends Mammals{
..............
class Mammals extends Animals implements WarmBlooded{
.......
interface WarmBlooded{
int temperature=96; //In case they forget to set the right temperature...
public int getTemperature(){
return temperature;
}
相比于
Cat cat = new Cat(Tom, m, 96);
和
class Cat(Stiing name, char gender, int temperature){
....
}
当然,通过实现
WarmBlooded
我们节省了几行代码,但是要花多少钱呢?我们必须仔细检查多个类,才能找出getTemperature()
在做什么-这不是意大利面条代码的示例吗?数百万的程序员选择了Java。多态性一定有原因。无论如何,我都必须牢记我要制造的猫的名字,性别和温度。实现Male
与创建Tom时将“ m”作为参数传递没有什么不同。为什么不将所有内容捆绑在Cat
中?这是否意味着我应该阅读并理解整个项目才能开始从多态中受益?有什么方法可以使扩展/实现中的浏览更加容易?
有效浏览扩展/实现的含义是什么?
这意味着“可以在合理的时间内找出此方法的作用”。
最佳答案
使用IDE。如NetBeans或Eclipse。另外,使用UML。否则很难遵循该代码。它允许您单击getTemperature()来查看实现。
Class Feline is useless if it only holds
Boolean isFeline = true;
但是,如果它拥有多种方法,则将使生活更加轻松-您不必牢记所有这些方法。
Java最适合大型项目。加入此类项目可能会更加困难。
关于java - 如何有效浏览Java中的扩展和实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37792393/