#+title: Tp5 #+begin_src plantuml :file maquinaestado.jpg skinparam classAttributeIconSize 0 abstract class State{ # account: Account # balance: double # interest: double # lowerLimit: double # upperLimit: double + Account: Account + Balance: double + <> Deposit(double amount): void + <> Withdraw(double amount): void + <> PayInterest(): void } class RedState extends State{ - serviceFee: double + RedState(State state) - Initialize(): void + <> Deposit(double amount): void + <> Withdraw(double amount): void + <> PayInterest(): void - StateChangeCheck(): void } class SilverState extends State { + SilverState(State state) : this(state.Balance, state.Account) + SilverState(double balance, Account account) - Initialize(): void + <> void Deposit(double amount) + <> Withdraw(double amount): void + <> PayInterest(): void - StateChangeCheck(): void } #+end_src #+RESULTS: [[file:maquinaestado.jpg]]