No meu domínio, conta poupança só é possível para clientes pessoa física. Nesse caso, o método getPessoa retorna apenas um cliente do tipo pessoa física. Mas pra conta corrente tanto um cliente pessoa física quanto um jurídico pode possuí-la.
Preciso retornar, ora um clientePj, ora um clientePf. COMO FAZER?
public interface Conta{
Cliente getCliente();
}
public class ContaCorrente implements Conta {
public Cliente clientePf;
public Cliente clientePj;
public int numeroDaConta;
public Cliente getCliente() {
return clientePj;
return clientePf;
//Preciso retornar, ora um clientePj, ora um clientePf. COMO FAZER?
}
public ContaCorrente(Cliente clientePf, Cliente clientePj){
this.clientePf = clientePf;
this.clientePj = clientePj;
}
}
public abstract class Pessoa {
public String nome;
public String getNome(){
return this.nome;
}
public void setNome(String nome){
this.nome = nome;
}
}
public class ClientePessoaJuridica extends Cliente implements Autenticavel {
}
public class ClientePessoaFisica extends Cliente {
}