Surgiu uma grande duvida…
estou implementando um aplicativo onde vou usar herança e polimorfismo…
então aconteceu o seguinte…
tenho uma interface pessoa…
public interface IPessoa {
public long getId();
public void setId(long id);
public String getNome();
public void setNome(String nome);
public Endereco getEndereco();
public void setEndereco(Endereco endereco);
public List<IContato> getContato();
public void setContato(IContato contato);
public String getDescricao();
public void setDescricao(String descricao);
}
e tambem mais duas classes abstratas APessoaFisica e APessoaJuridica…
ai veio o problema pois essas classes extendi de IPessoa e agora terei que implementar os metodos na classe abstrata…
porem as classes concretas funcionario, cliente e fornecedor irão extender das classes abstratas e os metodos estão implementados nas ABSTRACTS…
gostaria de saber se é possivel tornar IPessoa em APessoa (classe abstrata) e as abstratas em interfaces para que os metodos sejam implementados
nas classes concretas… ISSO SERIA UM ERRO DE MODELAGEM…
public class APessoaFisica implements IPessoa {
public long getId() {
throw new UnsupportedOperationException("Not supported yet.");
}
public void setId(long id) {
throw new UnsupportedOperationException("Not supported yet.");
}
public String getNome() {
throw new UnsupportedOperationException("Not supported yet.");
}
public void setNome(String nome) {
throw new UnsupportedOperationException("Not supported yet.");
}
public Endereco getEndereco() {
throw new UnsupportedOperationException("Not supported yet.");
}
public void setEndereco(Endereco endereco) {
throw new UnsupportedOperationException("Not supported yet.");
}
public List<IContato> getContato() {
throw new UnsupportedOperationException("Not supported yet.");
}
public void setContato(IContato contato) {
throw new UnsupportedOperationException("Not supported yet.");
}
public String getDescricao() {
throw new UnsupportedOperationException("Not supported yet.");
}
public void setDescricao(String descricao) {
throw new UnsupportedOperationException("Not supported yet.");
}
}