1. Artesanato de Software Edson Yanaga @edsonyanaga
2. Software uma arte
3. Ou no ?
4. linha de produo?
5. Deus?
6. O que voc sabe/aprendeu sobre OO?
7. Herana
8. HeranaPolimorsmo
9. Herana PolimorsmoEncapsulamento
10. Encapsulamento Polimorsmo Herana
11. Encapsulamento Polimorsmo Herana
12. Encapsulamento Polimorsmo Herana
13. public class Pessoa { private String nome; private String
cpf; private String telefone; private Date nascimento;}
14. public class Pessoa { private String nome; private Cpf cpf;
private Telefone telefone; private Date nascimento;}
15. public class Conta { private BigDecimal saldo = new
BigDecimal("0.00"); public BigDecimal getSaldo() { return saldo; }
public void setSaldo(BigDecimal saldo) { this.saldo = saldo;
}}
16. public class ContaService { public void somar(Conta conta,
BigDecimal valor) { if (conta == null) { throw new
IllegalArgumentException("Conta no pode ser nula!"); } if (valor ==
null) { throw new IllegalArgumentException("Valor no pode ser
nulo!"); } BigDecimal saldo = conta.getSaldo(); if (saldo == null)
{ saldo = new BigDecimal("0.00"); } saldo = saldo.add(valor);
conta.setSaldo(saldo); }}
17. public class Conta { private BigDecimal saldo = new
BigDecimal("0.00"); public BigDecimal getSaldo() { return saldo; }
public Conta somar(BigDecimal valor) { checkNotNull(valor); saldo =
saldo.add(valor); return this; }}
18. public class ContaService { public void
somarValorNaConta(Conta conta, BigDecimal valor) {
checkNotNull(conta); conta.somar(valor); }}