当前位置:  开发笔记 > 编程语言 > 正文

使用访问者模式和界面有什么区别?

如何解决《使用访问者模式和界面有什么区别?》经验,为你挑选了1个好方法。

将访问者设计模式应用于您的代码和以下方法之间的区别是什么:

interface Dointerface {
    public void perform(Object o);
}

public class T {
    private Dointerface d;
    private String s;

    public String getS() {
            return s;
    }

    public T(String s) {
            this.s = s;
    }

    public void setInterface(Dointerface d) {
            this.d = d;
    }

    public void perform() {
            d.perform(this);
    }

    public static void main(String[] args) {
            T t = new T("Geonline");
            t.setInterface(new Dointerface() {
                    public void perform(Object o) {
                            T a = (T)o;
                            System.out.println(a.getS());
                    }
            });
            t.perform();
    }
}

我假设通过使用接口,我们并没有真正分离算法.



1> AdamC..:

有很大的不同.

访问者模式使用接口,但其目的是能够对一个或多个类(实现接口)执行操作,而无需更改类.因此,实现实际上"访问"类并在没有修改类的情况下完成它.

接口是一个基本概念,用于为可能不同的类组提供通用API.接口的典型测试是,共享它的类在至少一个方面(类似于a)是相似的,并且在这些情况下可以这样对待.

这是维基百科上的一个简单示例,它显示了java中的几个访问者.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有