实例是否被视为不良做法?如果是这样,在什么情况下实例仍然更可取?
2022-08-31 13:43:10
多年来,我一直试图尽可能避免。在适用的情况下使用多态性或访客模式。我想它只是在某些情况下简化了维护...人们应该注意其他缺点吗?instanceof
然而,我确实在Java库中到处看到它,所以我想它有它的位置?在什么情况下更可取?这是不可避免的吗?
多年来,我一直试图尽可能避免。在适用的情况下使用多态性或访客模式。我想它只是在某些情况下简化了维护...人们应该注意其他缺点吗?instanceof
然而,我确实在Java库中到处看到它,所以我想它有它的位置?在什么情况下更可取?这是不可避免的吗?
它绝对在 股票实现 中占有一席之地。例如:equals
public boolean equals ( Object o )
{
if ( this == o )
{
return true;
}
if ( ! (o instanceof MyClass) )
{
return false;
}
// Compare fields
...
}
关于实例的一个巧妙的事情是,它的LHS可以是,在这种情况下,表达式的计算结果为。null
false
我可以想象一些情况,例如,您有一个库的一些对象,您无法扩展(或者这样做会很不方便),也许与您的某些对象混合在一起,所有这些都具有相同的基类,一起在一个集合中。
我认为在这种情况下,使用 instanceof 来区分对这些对象的一些处理可能是有用的。
Idem在一些遗留代码的维护中,你不能在许多旧类中注入一些新行为,只是为了添加一个新的小功能或一些错误修复......