Boa noite tenho tentado entender direito como e quando usar interfaces, sei que tem varios tópicos a esse respeito por aqui, mas estou com várias dúvidas.
Seguindo o desenho de Pessoa, Cliente, Funcionario… Tenho visto que muito se diz, evite herança prefira composição…
Mas isso está me trazendo uma confusão enorme, por exemplo caso eu tenha em meu sistema Clientes e Funcionarios que sejam tanto Pessoa Fisica quanto Pessoa Juridica.
no primeiro esquema que modelei ficou assim…
public abstract class Pessoa{
}
public class PessoaFisica extends Pessoa{
}
public class PessoaJuridica extends Pessoa{
}
public class Cliente {
private Pessoa pessoa;
}
Até ai tranquilo mas seguindo a ideia de nao utilizar herança, pensei mais ou menos assim e pelo que consegui entender nos artigos que li…
public Interface Pessoa{
}
public class Cliente implements Pessoa{
}
Neste Exemplo da Interface como eu poderia fazer pra distinguir se o meu Cliente é Pessoa Fisca ou Pessoa Juridica???
se Alguem puder ajudar ficaria muito agradecido 
Falow