W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在訪問者模式中,元素對象接受訪問者對象,而訪問者對象處理元素對象上的操作。
此模式是一種行為模式。
通過這種方式,可以從不同的訪問者改變元素的執(zhí)行算法。
class TreeNode { private String name; public TreeNode(String name) { this.name = name; } public String getName() { return name; } public void accept(NodeVisitor v) { v.visit(this); } } interface NodeVisitor { public void visit(TreeNode n); } class ConsoleVisitor implements NodeVisitor { @Override public void visit(TreeNode n) { System.out.println("console:" + n.getName()); } } class EmailVisitor implements NodeVisitor { @Override public void visit(TreeNode n) { System.out.println("email:" + n.getName()); } } public class Main { public static void main(String[] args) { TreeNode computer = new TreeNode("w3cschool.cn"); computer.accept(new ConsoleVisitor()); computer.accept(new EmailVisitor()); } }
上面的代碼生成以下結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: