Visitor
編輯歷史
| 時間 | 作者 | 版本 |
|---|---|---|
| 2016-04-15 09:28 – 09:31 | 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 | r45 | |
顯示 diff(13 行未修改)
|
||
| 2016-04-15 09:27 – 09:28 | 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 | r32 | |
顯示 diff(3 行未修改)
|
||
| 2016-04-15 09:23 – 09:27 | r27 – r31 | |
顯示 diff Visitor
- import
- *
+
+ i
|
||
| 2016-04-15 09:23 | r26 | |
顯示 diff(3 行未修改)
|
||
| 2016-04-15 09:23 – 09:23 | r11 – r25 | |
顯示 diff Visitor
- i
+ import
+ *
|
||
| 2016-04-15 09:23 | r10 | |
顯示 diff(2 行未修改)
|
||
| 2016-04-15 09:22 – 09:23 | r5 – r9 | |
顯示 diff Visitor
- Visitor 程式範
+ i
|
||
| 2016-04-15 09:22 | r4 | |
顯示 diff(2 行未修改)
|
||
| 2016-04-15 09:21 – 09:22 | r2 – r3 | |
顯示 diff- Visitor 程式範例
+ Visitor
+ Visitor 程式範
|
||
| 2016-04-15 09:21 – 09:21 | r0 – r1 | |
顯示 diff-
+ Visitor 程式範例
|
||