Pelo que entendi, referências e heranças são as mesmas coisas, só que com nome diferente.
Quando tenho uma classe Funcionário e uma classe Gerente, posso usar uma referência. Ex.: Funcionario gerente = new Funcionario();
Porque trocar um pelo outro?
Pelo que entendi, referências e heranças são as mesmas coisas, só que com nome diferente.
Quando tenho uma classe Funcionário e uma classe Gerente, posso usar uma referência. Ex.: Funcionario gerente = new Funcionario();
Porque trocar um pelo outro?
Pois tu consegue abstrair mais seu programa, i.e. flexibilidade, visto que para mudar de comportamento, basta inserir outra implementação daquela interface ou classe abstrata.