Considere as seguintes definições relacionadas à programação orientada a objetos, com lacunas a preencher, e assinale a alternativa que preencha corretamente as três definições, considerando sua ordem.
1. __________ é a capacidade de objetos de classes distintas responderem a uma mesma chamada de método de maneiras diferentes. Isso permite que as subclasses redefinam o comportamento de métodos herdados da classe base.
2. __________ é a capacidade de um objeto ter vários métodos com o mesmo identificador, mas com assinaturas de métodos diferentes. Isso permite que os objetos respondam a chamadas de métodos distintos, mas com identificadores idênticos, com base na quantidade e no tipo de argumentos fornecidos.
3. __________ é a capacidade de uma subclasse substituir o comportamento de um método herdado da classe base. Isso permite que uma classe modifique o comportamento de um método para atender às suas próprias necessidades, mantendo a mesma assinatura de método.