編輯歷史

時間 作者 版本
2016-04-15 09:28 – 09:31 Eric You r46 – r89
顯示 diff
(1 行未修改)
*import java.util.*;
+ *public interface Checker {
+ * //訪問者check不同的對象會做不同的事情
+ * public void check(State s);
+ * //
+ * public void check(Transition t);
+ * //
+ * public void check(StateDiagram sd);
+ * //
+ *}
+ *public interface DiagramElement {
+ * //接受訪客訪問的介面
+ * public void accept(Checker c);
+ *}
+ *public class SyntaxCheck implements Checker{
+ * //SyntaxCheck實做checker
+ * public void check(State s) {
+ * //印出SytaxCheck State的結果
+ * System.out.println("SyntaxCheck");
+ * }
+ * public void check(Transition t) {
+ * System.out.println("SyntaxCheck");
+ * }
+ * public void check(StateDiagram sd) {
+ * System.out.println("SyntaxCheck");
+ * }
+ *}
+ *public class RelationCheck implements Checker{
*
- public interface Checker {
- //訪問者check不同的對象會做不同的事情
- public void check(State s);
- //
- public void check(Transition t);
- //
- public void check(StateDiagram sd);
- //
- }
+ * public void check(State s) {
+ * System.out.println("RelationCheck");
+ * }
+ * public void check(Transition t) {
+ * System.out.println("RelationCheck");
+ * }
+ * public void check(StateDiagram sd) {
+ * System.out.println("RelationCheck");
+ * }
+ *}
+ *public class State implements DiagramElement {
+ *
+ * @Override
+ * public void accept(Checker c) {
+ * //訪問這透過accept介面去check此物件
+ * c.check(this);
+ * }
+ *
+ *}
+ *public interface DiagramElement {
+ * //接受訪客訪問的介面
+ * public void accept(Checker c);
+ *}
+ *public class StateDiagram implements DiagramElement{
+ * private ArrayList<DiagramElement> element = new ArrayList<DiagramElement>();
+ * public void add(DiagramElement e){
+ * element.add(e);
+ * }
+ * @Override
+ * public void accept(Checker c) {
+ * //訪問這透過accept介面去check此物件
+ * c.check(this);
+ *
+ * Iterator itr = element.iterator();
+ * while(itr.hasNext()){
+ * //訪問者check StateDiagram底下的element
+ * ((DiagramElement)itr.next()).accept(c);
+ * }
+ * }
+ *
+ *}
+ *
2016-04-15 09:28 (unknown) r45
顯示 diff
(13 行未修改)
2016-04-15 09:27 – 09:28 Eric You r33 – r44
顯示 diff
Visitor
- i
+ *import java.util.*;
+ *
+ public interface Checker {
+ //訪問者check不同的對象會做不同的事情
+ public void check(State s);
+ //
+ public void check(Transition t);
+ //
+ public void check(StateDiagram sd);
+ //
+ }
2016-04-15 09:27 (unknown) r32
顯示 diff
(3 行未修改)
2016-04-15 09:23 – 09:27 Eric You r27 – r31
顯示 diff
Visitor
- import
- *
+
+ i
2016-04-15 09:23 (unknown) r26
顯示 diff
(3 行未修改)
2016-04-15 09:23 – 09:23 Eric You r11 – r25
顯示 diff
Visitor
- i
+ import
+ *
2016-04-15 09:23 (unknown) r10
顯示 diff
(2 行未修改)
2016-04-15 09:22 – 09:23 Eric You r5 – r9
顯示 diff
Visitor
- Visitor 程式範
+ i
2016-04-15 09:22 (unknown) r4
顯示 diff
(2 行未修改)
2016-04-15 09:21 – 09:22 Eric You r2 – r3
顯示 diff
- Visitor 程式範例
+ Visitor
+ Visitor 程式範
2016-04-15 09:21 – 09:21 (unknown) r0 – r1
顯示 diff
-
+ Visitor 程式範例