Olá, sei que a pergunta é parecida com a que o outro colega já fez. Mas minha dúvida mais especificamente é por que vale a pena usar uma variável que é de uma interface?
Até onde eu tinha entendido, as interfaces são úteis como um contrato de métodos que precisamos implementar em mais de uma classe que não tem relação de herança entre si.
Mas fiquei meio perdido quando o professor aplicou polimorfismo e usou uma variável de interface como referência para o objeto de Conjunto que ele estava trabalhando. Qual a vantagem de fazer isto? E também, por que isto é possível?
Me refiro aqui ao trecho que ele instacia o conjunto assim:
private ISet<Aluno> alunos = new HashSet<Aluno>();