日期:2014-05-20  浏览次数:20686 次

关于 java 分派机制 与 访问者模式
网上很多人说 java 是单分派的语言 ,而访问者模式是实现双分派的一种方法

其实 java 是静态双分派的啊, 也是动态单分派的,所以访问者模式可以实现java的动态双分派。

你们觉得呢?

------解决方案--------------------
天书啊
------解决方案--------------------
不懂。顶下
------解决方案--------------------
没听过..这样的...友情帮顶..
------解决方案--------------------
不晓得LZ在说些什么,但是隐隐的觉得很屌的样子。
------解决方案--------------------
不知情...
------解决方案--------------------
楼主说的分派主要体现了面向对象的3大特性之多态性。
说的 分派是在运行时根据对象类型确定对一个方法的调用
至于双分派是在运行时根据两个对象类型来确定方法调用的过程

一般双分派的方法会有如下的代码格式:
Java code

//FatherA, SonA中的方法
...
       public void displayInA(FatherB fatherB){//双分派方法
        fatherB.displayInB(this);
    }
    
    public void displayInA(SonB sonB){//双分派方法
        sonB.displayInB(this);
    }

//FatherB, SonB中的方法
...
       public void displayInB(FatherA fatherA){
           //do something hear
       }
    
    public void displayInB(SonA sonA){
           //do something hear
    }
...

------解决方案--------------------
探讨
不晓得LZ在说些什么,但是隐隐的觉得很屌的样子。

------解决方案--------------------

------解决方案--------------------
= = 。。真实孤陋寡闻了。。以前没听过 分配一说。。
------解决方案--------------------
看到楼主的标题关于 java 分派机制 与 访问者模式和下面的内容
探讨
其实 java 是静态双分派的啊, 也是动态单分派的,所以访问者模式可以实现java的动态双分派。

你们觉得呢?