O documento discute conceitos de programação orientada a objetos como herança, polimorfismo e encapsulamento. Também apresenta exemplos de código Java que ilustram o uso destes conceitos, como a definição de classes Pessoa e Conta e métodos para manipular objetos destas classes.
15. public class Pessoa {
private String nome;
private String cpf;
private String telefone;
private Date nascimento;
}
16. public class Pessoa {
private String nome;
private Cpf cpf;
private Telefone telefone;
private Date nascimento;
}
17.
18. public class Conta {
private BigDecimal saldo = new BigDecimal("0.00");
public BigDecimal getSaldo() {
return saldo;
}
public void setSaldo(BigDecimal saldo) {
this.saldo = saldo;
}
}
19. public class ContaService {
public void somar(Conta conta, BigDecimal valor) {
if (conta == null) {
throw new IllegalArgumentException("Conta não pode ser nula!");
}
if (valor == null) {
throw new IllegalArgumentException("Valor não pode ser nulo!");
}
BigDecimal saldo = conta.getSaldo();
if (saldo == null) {
saldo = new BigDecimal("0.00");
}
saldo = saldo.add(valor);
conta.setSaldo(saldo);
}
}
20. 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;
}
}
21. public class ContaService {
public void somarValorNaConta(Conta conta, BigDecimal valor) {
checkNotNull(conta);
conta.somar(valor);
}
}