Considere três classes em Delphi, círculo, quadrado e triâng...
Assinale a alternativa que define corretamente o enunciado desta questão a partir dos conceitos da programação orientada a objetos.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A - Polimorfismo.
A questão aborda um dos quatro pilares fundamentais da Programação Orientada a Objetos (POO): o Polimorfismo. O termo polimorfismo vem do grego e significa "muitas formas". Na programação, ele se refere à capacidade de um método ser implementado em diferentes formas dependendo da classe que o invoca. No contexto da questão, temos três classes diferentes: Círculo, Quadrado e Triângulo, cada uma com um método chamado desenhar. Embora o método compartilhe o mesmo nome em todas as classes, a forma como ele atua é específica para cada uma, desenhando a figura geométrica correspondente.
O conceito de Polimorfismo permite que objetos de diferentes classes sejam tratados como objetos de uma mesma superclasse ou interface, e que os métodos que são invocados nestes objetos tenham comportamentos específicos conforme sua implementação nas subclasses. Isso facilita a reutilização de código e torna os sistemas mais flexíveis e fáceis de manter.
Justificativa para a alternativa correta:
A alternativa A está correta porque descreve exatamente o cenário apresentado no enunciado. Quando chamamos o método desenhar em um objeto da classe Círculo, ele deve desenhar um círculo; quando chamado em um objeto da classe Quadrado, ele desenha um quadrado, e assim por diante para a classe Triângulo. O método desenhar está polimorficamente definido nessas classes para realizar ações diferentes, embora seja chamado pelo mesmo nome.
Essa habilidade do método de se comportar de maneira diferente, dependendo do objeto que o chama, é a essência do polimorfismo e é uma das vantagens mais significativas da POO, como a facilidade de extensão do código e a possibilidade de tratar objetos de diferentes tipos de maneira uniforme. Isso permite que novos tipos de objetos possam ser adicionados no futuro com facilidade, sem necessidade de alterar grande parte do código existente, desde que sigam a mesma interface ou classe base.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo