gpt4 book ai didi

java - 具有两个参数的方法,这两个参数都需要双重分派(dispatch)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:19:23 26 4
gpt4 key购买 nike

假设我有一个有两个参数的方法。我一直在实现它们:

if(aObj instance of Marble)   {
if(bObj instance of Bomb) {
this.resolve((Marble)aObj,(Bomb)bObj);
}
}

如您所见,这不是一个非常漂亮的解决方案。我计划使用双重调度来实现,但是有两个参数都需要双重调度,恐怕我有点难过。请有任何想法。

顺便说一句,我是用 java 实现的。

最佳答案

如果可能的话,我会选择 the visitor pattern .

也就是说,定义方法的类(或者更确切地说,每种类型的方法s)实现了一个名为 visitor 的接口(interface)。然后调用 object.accept(this),而不是进行实例检查。然后该对象调用访问者的正确“访问”方法。

关于java - 具有两个参数的方法,这两个参数都需要双重分派(dispatch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2864438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com