1001 B
1001 B
Tp5
skinparam classAttributeIconSize 0
abstract class State{
# account: Account
# balance: double
# interest: double
# lowerLimit: double
# upperLimit: double
+ Account: Account
+ Balance: double
+ <<abstract>> Deposit(double amount): void
+ <<abstract>> Withdraw(double amount): void
+ <<abstract>> PayInterest(): void
}
class RedState extends State{
- serviceFee: double
+ RedState(State state)
- Initialize(): void
+ <<override>> Deposit(double amount): void
+ <<override>> Withdraw(double amount): void
+ <<override>> PayInterest(): void
- StateChangeCheck(): void
}
class SilverState extends State {
+ SilverState(State state) : this(state.Balance, state.Account)
+ SilverState(double balance, Account account)
- Initialize(): void
+ <<override>> void Deposit(double amount)
+ <<override>> Withdraw(double amount): void
+ <<override>> PayInterest(): void
- StateChangeCheck(): void
}
