-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample_class.pu
More file actions
62 lines (55 loc) · 1.09 KB
/
example_class.pu
File metadata and controls
62 lines (55 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
@startuml
class Line {
-Position[] positions
+void put(Linable linable, int i)
+Linable get(int i)
+Linable[] toArray()
}
class Position {
-Linable linable
+void setLinable(Linable linable)
}
class Geezer {
-Sorter sorter
-Geezer theGeezer
+static Geezer getTheGeezer()
+void setSorter(Sorter sorter)
+String lineUp(Line line)
+String[] parsePlan(String plan)
+void execute(String step)
}
interface Sorter {
+void load(int[] elements)
+void sort()
+String getPlan()
}
class BubbleSorter {
-int[] a
-String plan
+void load(int[] elements)
+void sort()
+String getPlan()
}
interface Linable {
+void setPosition(Position position)
+Position getPosition()
+int getValue()
}
enum Gourd {
ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN
-int r, g, b
-Position position
+static Gourd getGourdByRank(int rank)
+int rank()
+void setPosition(Position position)
+Position getPosition()
+void swapPosition(Gourd another)
+int getValue()
}
Line --> Position
Position --> Linable
Geezer --> Sorter
Geezer --> Line
BubbleSorter ..|> Sorter
Gourd ..|> Linable
@enduml