Questão nº 49

Questão de Tecnologia da Informação · FGV DATAPREV 2024 (nº 49)

FGV2024Analista de Tecnologia da Informação - Desenvolvimento de SoftwareTecnologia da Informação
Gabarito: Cver comentário ↓

Em um projeto de software utilizando orientação a objetos, foi implementado o seguinte código em Java:
Figura da questão de Tecnologia da Informação
Com base no princípio de Substituição de Liskov (L), que faz parte dos princípios SOLID, em relação à implementação do método emitirSom, assinale a opção correta.

Resposta comentada

Gabarito Alternativa C

O Princípio da Substituição de Liskov (LSP) afirma que objetos de uma superclasse devem poder ser substituídos por objetos de suas subclasses sem quebrar o funcionamento correto do programa. Em outras palavras, um tipo derivado deve ser substituível por seu tipo base.

  • (A) Incorreta: O LSP não proíbe a sobrescrita de métodos; pelo contrário, a sobrescrita é fundamental para o polimorfismo e pode estar em conformidade com o LSP, desde que o contrato do método seja mantido.
  • (B) Incorreta: Esta é a armadilha. Embora o comportamento seja alterado de "som genérico" para "latido", essa alteração é uma especialização que ainda cumpre o contrato de "emitir um som". A violação ocorreria se o Cachorro fizesse algo completamente diferente ou inesperado, como não emitir som algum ou lançar uma exceção não prevista pelo Animal.
  • (C) Correta: O código está de acordo com o LSP. Um Cachorro é um Animal, e seu método emitirSom (latido) é uma forma válida de um animal emitir som. Se um programa espera um Animal e recebe um Cachorro, chamar emitirSom ainda resultará em um som, sem causar erros ou comportamentos inesperados em relação ao contrato da classe base.
  • (D) Incorreta: O LSP não exige que o método sobrescrito seja exatamente igual; ele permite a especialização do comportamento, desde que o novo comportamento seja compatível com o contrato do método da superclasse.
  • (E) Incorreta: Lançar uma exceção inesperada em um método sobrescrito, quando o método da superclasse não o faz, seria uma violação do LSP, pois quebraria o contrato e a expectativa do cliente.

Fonte: FGV DATAPREV 2024 Analista de Tecnologia da Informação - Desenvolvimento de Software (Caderno Tipo 1). 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