当前位置: 首页 > 面试题库 >

是否将instanceof视为不良做法?如果是这样,在什么情况下instanceof仍然是可取的?

弘和同
2023-03-14
问题内容

多年来,我尽力避免instanceof出现这种情况。在适用时使用多态或访客模式。我想它在某些情况下可以简化维护工作…还有其他应注意的缺点吗?

但是我确实在Java库中到处都看到它,所以我想它有它的位置吗?在什么情况下更可取?是否不可避免?


问题答案:

我可以想象某些情况,例如您有一个库的对象,您无法扩展这些对象(或者这样做很不方便),也许与您的某些对象混合在一起,这些对象都具有相同的基类,并且一起采集。
我想在这种情况下,使用instanceof区分对这些对象的某些处理可能会很有用。

同上,对旧



 类似资料:
  • 问题内容: function foo () { global $var; // rest of code } 在我的小型PHP项目中,我通常采用过程方式。通常,我有一个包含系统配置的变量,当我需要在函数中访问此变量时,我会这样做。 这是不好的做法吗? 问题答案: 当人们谈论其他语言的全局变量时,这意味着与PHP中的操作有所不同。那是因为变量在PHP 中并不是 真正的 全局变量。典型的PHP程序的范

  • 问题内容: 我大致认为使用iframe是“不好的做法”。 这是真的?使用它们的优点/缺点是什么? 问题答案: 与所有技术一样,它也有起有落。如果您要使用iframe到一个经过适当开发的网站周围走走,那当然是个坏习惯。但是,有时iframe是可以接受的。 iframe的主要问题之一与书签和导航有关。如果您使用它只是将页面嵌入内容中,我认为很好。这就是iframe的用途。 但是我也看到iframe也被

  • 问题内容: 在我的一个项目中,我有两个“数据传输对象” RecordType1和RecordType2,它们从RecordType的抽象类继承。 我希望两个RecordType对象在“ process”方法中由相同的RecordProcessor类处理。我的第一个想法是创建一个通用的处理方法,该方法将两个特定的处理方法委托给以下人员: 我读过Scott Meyers在 Effective C ++

  • 问题内容: 我正在研究纸牌游戏UNO的实现(主要是运行模拟来测试一些内部规则,但这是不同的事情)。 对于从未玩过的人来说,它类似于疯狂八人组。玩家轮流在弃牌堆上玩纸牌。卡必须在编号或颜色上匹配。也有抽奖牌,迫使下一个玩家抽两张或四张牌。内部规则也非常友好,这使其非常有趣。 我的卡的和一起上课。我想做的是创建扩展。然后,在确定游戏机制时,我将用来测试是否具有。 我知道这通常是有问题的,但这对我来说似

  • 问题内容: 我们正在将两个系统集成到一个Intranet中,使用CORS作为在两个域之间进行AJAX调用的一种方式。 这被认为是不良做法吗?一般认为CORS是不良做法吗? 问题答案: CORS不是坏习惯。它支持所有主要的浏览器,而且越来越多的API都支持它。实际上,如果您的公共资源不在防火墙后面,则可以将标头放在资源上是安全的。 但是,对于服务器上CORS的角色有些困惑。CORS应该仅指示特定资源

  • 问题内容: 如果我们采用以下代码: 相对于,更喜欢多态是什么意思,顺便说一句,为什么更好呢? 编辑: 我了解什么是多态性;我所缺少的是人们将如何使用它而不是。 问题答案: if … else …(或switch或Visitor)之间以及多态之间的主要区别是模块化。有所谓的开闭原理,这基本上意味着,当您向现有程序中添加新功能时,对现有代码所做的更改越少越好(因为每次更改都需要一些工作,并且可能会引入