Uma classe ClasseA de determinada aplicação possuía um método calculeAlgo(...

Uma classe ClasseA de determinada aplicação possuía um método calculeAlgo() em que testes (instruções de desvio condicional) eram utilizados para se determinar que algoritmo deveria ser adotado ...


Uma classe ClasseA de determinada aplicação possuía um método calculeAlgo() em que testes (instruções de desvio condicional) eram utilizados para se determinar que algoritmo deveria ser adotado para efetuar o cálculo. Foi criada uma nova hierarquia de classes, iniciando na classe abstrata ClasseB, que declara o método abstrato calcule(). Este método é implementado por cada classe concreta da hierarquia, sendo cada uma delas correspondente a um dos algoritmos previstos no método calculeAlgo() original. ClasseA passou a ter um atributo do tipo ClasseB e métodos de acesso ao mesmo, e calculeAlgo() teve seu código substituído por uma simples chamada ao método calcule() do objeto armazenado no novo atributo. O conceito OO (Orientação a Objetos) predominante na descrição acima é a(o)

🚀 Desbloqueie a explicação completa

Veja comentários detalhados e resoluções exclusivas para entender o gabarito desta questão.

  • Matheus Fernandes
    Matheus Fernandes
    31/12/1969 • 21:00
    Gabarito: d)

    O conceito predominante na descrição acima é o polimorfismo.

    Polimorfismo é um dos princípios da Orientação a Objetos que permite que objetos de classes diferentes possam ser tratados de maneira uniforme, ou seja, um mesmo método pode se comportar de forma diferente em cada classe que o implementa. No caso descrito, a classe abstrata ClasseB declara o método abstrato calcule(), que é implementado de forma específica em cada classe concreta da hierarquia, permitindo que o método calculeAlgo() da ClasseA possa chamar o método calcule() de forma polimórfica, ou seja, executando o algoritmo correspondente à classe concreta armazenada no atributo do tipo ClasseB.
🔒
Conteúdo restrito

Cadastre-se para visualizar comentários e resoluções.

Criar conta grátis

Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência. Política de Privacidade.