UML e Java, Introdução AB ,2000 1 Diagrama de Classes UML e JAVA ema diversos tipos de contas bancárias. Todas as contas atributo saldo que pode ser consultado em qualquer É possível efectuar operações de depósito e mento sobre contas bancárias. As contas devem ter um atribut iste a última operação efectuada (ex: “levantamento efectuad as à ordem devem verificar nas operações de levantamento te saldo suficiente para tal… um tipo de conta multibanco que se comporta como uma ordem mas não suporta levantamentos superiores a um limite ntamento fixo (estipulado para todas as contas).
24
Embed
UML e Java, Introdução AB,20001 Diagrama de Classes UML e JAVA Problema Existem diversos tipos de contas bancárias. Todas as contas têm um atributo saldo.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
UML e Java, Introdução AB,2000 1
Diagrama de Classes UMLe JAVA
Problema
Existem diversos tipos de contas bancárias. Todas as contastêm um atributo saldo que pode ser consultado em qualqueraltura. É possível efectuar operações de depósito e levantamento sobre contas bancárias. As contas devem ter um atributoque registe a última operação efectuada (ex: “levantamento efectuado” ).
As contas à ordem devem verificar nas operações de levantamento se existe saldo suficiente para tal…
Existe um tipo de conta multibanco que se comporta como umaconta à ordem mas não suporta levantamentos superiores a um limitede levantamento fixo (estipulado para todas as contas).
Os objectos partilham comportamento mas têm valores de dados próprios
UML e Java, Introdução AB,2000 17
Diagrama de Classes UMLe JAVA ContaMulti.java
public class ContaMulti extends ContaOrdem{ private double m_limiteLevantamento;
public ContaMulti() { super(); LimiteLevantamento(); }
public ContaMulti(double valor) { super(valor); LimiteLevantamento(); }
public boolean Levanta(double valor) { boolean levantou = false;
if ( valor <= m_limiteLevantamento ) { levantou = super.Levanta(valor); }else { MensagemOperacao(new String("O limite de levantamento não permite esta operação")); } return levantou; }
O método LimiteLevantamento não está disponívelpara o “mundo exterior” pois é privado. Apenas a classe o utiliza.
UML e Java, Introdução AB,2000 19
Diagrama de Classes UMLe JAVA
Conta c;
ContaOrdem co;ContaMulti cm;
co = new ContaOrdem();cm = new ContaMulti();
// (…)
Um exemplo de polimorfismo:
c = co;
c.Levanta(200);
c = cm;
c.Levanta(100);
É invocado o método “Levanta” da conta ordem
É invocado o método “Levanta” da conta multi
UML e Java, Introdução AB,2000 20
Diagrama de Classes UMLe JAVA
Novo Problema
O banco necessita de um novo tipo de conta: ordenado.
No fundo, as contas ordenado são contas à ordem maspermitem levantamentos superiores ao saldo desde queestes não ultrapassem o crédito estabelecido…Nos casos de saldo insuficiente, é efectuado um créditoao saldo, para se concretizar o levantamento posterior.O crédito é atribuído em função do salário do titular de conta.
Como ficará o diagrama de classes?
UML e Java, Introdução AB,2000 21
Diagrama de Classes UMLe JAVA
Conta
ContaOrdem
ContaMulti ContaOrdenado
Diagrama declasses,ContaOrdenadoherda deContaOrdem