Segundo o princípio de “programar para uma interface e não para uma implementação”, qual o benefício em manipular objetos apenas em termos de suas interfaces?
Métodos de um objeto O não definidos pela interface I que ele implementa podem ser invocados de maneira mais fácil pelos clientes de I.
O problema de herança múltipla é evitado pelo fato de uma classe ou objeto não poder implementar várias interfaces.
Diminuição de erros de typecast, que deixam de acontecer ao se converter referências de um objeto qualquer para interface desejada.
Economia de memória oriunda da diminuição do número de classes e objetos necessários para um programa.