Java访问者模式而不是instanceof开关

Java访问者模式而不是instanceof开关,第1张

Java访问者模式而不是instanceof开关

是的,现在要实现访问者模式,您需要访问A,B和C的源,除非所有类都具有相同的签名(因此所有类都具有相同名称的wash()方法)。在这种情况下,您可以使用多态来调用正确的方法。

否则,可以在源代码级别为您无权访问的类添加功能。在Wikipedia上有关访问者模式的文章(http://en.wikipedia.org/wiki/Visitor_pattern),在Java示例下面有一个小脚注:

注意:此模式的一种更灵活的方法是创建一个包装器类,该包装器类实现定义accept方法的接口。包装器包含指向CarElement的引用,该引用可以通过构造函数进行初始化。这种方法避免了必须在每个元素上实现接口。[请参阅下面的Java
Tip 98文章]

它引用了本文:http :
//www.javaworld.com/javaworld/javatips/jw-
javatip98.html

因此,尽管有可能,但它为您要执行的小任务提供了大量类。如果我是你,我会坚持使用instanceof。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5438870.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-11
下一篇2022-12-11

发表评论

登录后才能评论

评论列表(0条)

    保存