23. Nova Representação da classe Conta em UML Conta +número: int +nome: String +saldo: double +limite: double +saca (valor: double): boolean +deposita (valor: double): +transferePara (destino: Conta, valor: double) : boolean
24.
25. Alterações na classe Conta: class Conta { int número; double saldo; double limite; Cliente titular = new Cliente () ; boolean saca ...... ...... void deposita ...... ...... boolean transferePara ..... ...... }
26. Alterações no programa principal: class Programa { public static void main (String [ ] args) { Conta conta1 = new Conta( ); conta1.titular.nome = "João "; ...... conta2.titular.nome = " Maria "; ...... System.out.println("Titular da conta1 = " + conta1.titular.nome); System.out.println("Titular da conta2 = " + conta2.titular.nome); } }
27. Representação UML das classes Conta e Cliente Conta +número: int +saldo: double +limite: double +titular: Cliente +saca (valor: double): boolean +deposita(valor: double) +transferePara (destino: Conta, valor: double) : boolean Cliente +nome: String +sobrenome: String +endereço: String +cpf: String
28. Um sistema Orientado a Objetos é um grande conjunto de classes que vão se comunicar, delegando responsabilidade para quem for mais apto a realizar determinada tarefa. A classe Banco usa a classe Conta , que usa a classe Cliente , que usa a classe Endereço , etc. Dizemos que esses objetos colaboram, trocando mensagens entre si. Por isso acabamos tendo muitas classes em nossos sistemas, e elas costuma ter um tamanho relativamente curto.
29.
30.
31.
32.
33.
34. Nova Representação UML das classes Conta e Cliente Conta +número: int +saldo: double -limite: double -titular: Cliente +saca (valor: double): boolean +deposita(valor: double) +transferePara (destino: Conta, valor: double) : boolean +setSaldo(valor: double) +getSaldo ( ): double +setLimite(valor: double) +getLimite( ): double Cliente +nome: String +sobrenome: String +endereço: String +cpf: String