首页 > TAG信息列表 > dynamic-dispatch

解决没有Double Dispatch / Visitor模式的Java静态方法分派

我正在使用提供以下方法的Foo类: String overloadedMethod(Object) String overloadedMethod(Goo) 由于Java静态地基于non-receiver参数进行分派,因此我不能只传递我的值(它是一个Object,但可能具有动态类型Goo)并依靠JVM动态地选择“正确”方法. 这是我当前的(丑陋的)解决方法: O

python中的动态调度和继承

我正在尝试修改Guido的多方法(动态调度代码): http://www.artima.com/weblogs/viewpost.jsp?thread=101605 处理继承和可能的乱序参数. 例如(继承问题) class A(object): pass class B(A): pass @multimethod(A,A) def foo(arg1,arg2): print 'works' foo(A(),A()) #work

Java中的Binding和Dispatching有什么区别?

关联名称太多:早期和晚期绑定,静态和动态调度,运行时与编译时多态等等,我不明白其中的区别. 我发现了一个明确的explanation,但它是否正确?我会解释JustinC: 绑定:是确定变量的类型(对象?).如果它在编译时完成,它的早期绑定.如果它是在运行时完成的,那就是后期绑定. Dispatch:确定哪个方