-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuml_entity.puml
More file actions
65 lines (56 loc) · 1.27 KB
/
Copy pathuml_entity.puml
File metadata and controls
65 lines (56 loc) · 1.27 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
63
64
65
@startuml
' substitutes visibility icons with characters
skinparam classAttributeIconSize 0
' don't show the (I) or (C) icons in class names
hide circle
class SavingsAccount {
-{static}logger: Logger
~interestRate: double
+monthEnd()
}
class CheckingAccount {
+{static}logger: Logger
-checkNumber: int
+writeCheck(name: String, amount: double)
+monthEnd()
}
class Register {
~logger: Logger
~entryList: List< <String, Double> >
+add(entryName: String, amount: Double)
+getEntries(): List< <String, Double> >
}
class Owner {
-name: String
}
class Account << abstract >> {
+{static}logger: Logger
-balance: double
#name: String
#owner: Owner
#register: Register
#minimumBalance: double
#belowMinimumFee: double
+deposit(amount: double)
+deposit(amount: double, registerEntry: String)
+withdraw(amount: double)
+withdraw(amount: double, registerEntry: String)
+generateStatement(): List<String>
+getRegisterEntries(): List< <String, Double> >
+{abstract}monthEnd()
}
class Runner {
+{static}main(args: String[])
}
Account <|-- SavingsAccount
Account <|-- CheckingAccount
Account --o Register
Account --* Owner
Runner --* SavingsAccount
Runner --* CheckingAccount
note as N1
Note: Simple getters/setters
and constructors are
omitted from classes
end note
@enduml