Questão nº 37

Questão de Tecnologia da Informação · CESGRANRIO BASA 01/2024 (nº 37)

CESGRANRIO2024Técnico Científico - Área de Formação: Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Ever comentário ↓

No contexto de orientação a objeto, para as classes P, Q, R, S, T, U, sendo Q uma classe declarada como abstrata, considere a hierarquia de classes a seguir:

• U e R herdam diretamente de S
• S e T herdam diretamente de Q
• P herda de T

Nesse contexto, é possível criar uma instância de

Resposta comentada

Gabarito Alternativa E

Conceito-chave: Em Java, uma classe abstrata não pode ser instanciada (não se usa new nela), mas uma variável de seu tipo pode referenciar qualquer objeto de uma subclasse concreta (não abstrata) que herde dela, direta ou indiretamente. O polimorfismo permite isso.

  • (A) Incorreta: P herda de T, que herda de Q, mas S não está na linha de herança de P (P → T → Q; S é irmã de T, não ancestral). Logo, P não é um S.
  • (B) Incorreta: Q é abstrata, então new Q() é proibido. Não se pode criar instância de Q, nem associá-la a variável Q.
  • (C) Incorreta: Além de Q ser abstrata (não instanciável), a variável da classe P só poderia receber um objeto de P ou subclasse de P — um objeto Q não é um P (é superclasse).
  • (D) Incorreta: S é abstrata (herda de Q, que é abstrata, e não é declarada concreta), então não se instancia S. Além disso, U herda de S, mas a variável U não pode receber um S (S é superclasse, não subclasse).
  • (E) Correta: U é concreta (não abstrata) e herda de S, que herda de Q. Portanto, U u = new U() é válido, e a variável Q q = u; também é válida, pois U é um Q por transitividade.

Fonte: CESGRANRIO BASA 01/2024 Técnico Científico - Área de Formação: Tecnologia da Informação (Caderno Prova B). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho