No que se refere à linguagem .NET C#, assinale a opção que apresenta a característica que permite que classes derivadas de uma mesma classe superior executem métodos com mesma assinatura e comportamentos diferentes.
- A)herança
Herança é o vínculo entre classe base e classe derivada, mas não é o nome da característica que permite comportamentos diferentes com a mesma assinatura.
- B)abstração
Abstração é o processo de destacar o essencial e esconder detalhes, não o mecanismo de variação de comportamento entre classes filhas.
- C)instância
Instância é o objeto concreto criado a partir de uma classe, sem relação direta com a execução de métodos iguais com comportamentos diferentes.
- D)polimorfismo
Polimorfismo é exatamente a característica que permite mesmo método, mesma assinatura e comportamentos diferentes em classes derivadas.
- E)encapsulamento
Encapsulamento protege e organiza o acesso aos atributos e métodos, mas não descreve a variação de comportamento entre classes filhas.
Gabarito: D
Na orientação a objetos, o que permite que classes filhas tenham o mesmo método, com a mesma assinatura, mas apresentem comportamentos diferentes é o polimorfismo. Em C#, isso aparece com muita força por meio da sobrescrita de métodos (override), quando a classe derivada redefine o comportamento herdado da classe base sem mudar a “cara” da chamada. Assim, o código chama o mesmo método, mas a execução varia conforme o objeto real. É aquele clássico: mesma porta de entrada, respostas diferentes lá dentro. Isso é diferente de herança, que é apenas o mecanismo de relacionamento entre a classe base e a derivada. A herança faz a classe filha receber características da classe pai, mas não explica, sozinha, a variação de comportamento. Quem resolve essa “mágica organizada” é o polimorfismo, que é justamente a capacidade de um mesmo método se comportar de forma distinta em classes diferentes. Na prática, o C# trabalha isso com conceitos como métodos virtuais e sobrescrita. A base define o método, a derivada adapta o comportamento, e o programa decide qual implementação usar em tempo de execução conforme o tipo do objeto. É por isso que o gabarito é a letra D. As demais alternativas tratam de conceitos importantes, mas não são o que a questão descreve. Abstração lida com focar no essencial, instância é o objeto criado a partir da classe, e encapsulamento protege os dados e controla o acesso. A banca gosta de trocar esses termos para ver se você está com a nomenclatura afiada.