Questão FC373294
Considere os trechos de código Java abaixo. Trecho 1: public int pensaoAlimenticia(){ return Util.getFuncoes.getFuncoesData.calculaPensao(processo); } Trecho 2: public int pensaoAl
Linguagens de Programação
FCC · 2018
Considere os trechos de código Java abaixo.
Trecho 1:
public int pensaoAlimenticia(){
return Util.getFuncoes.getFuncoesData.calculaPensao(processo);
}
Trecho 2:
public int pensaoAlimenticia(){
return Util.calculaPensao(processo);
}
Em um sistema Orientado a Objetos bem desenvolvido, os princípios relativos a acoplamento e coesão devem ser respeitados. O código Java apresentando no trecho 1 mostra um exemplo de
- baixo acoplamento e o trecho 2 o corrige para alto acoplamento.
- alta coesão e o trecho 2 o corrige para baixa coesão.
- alto acoplamento e o trecho 2 o corrige para baixo acoplamento.
- baixo acoplamento e o trecho 2 mostra um exemplo de baixa coesão.
- baixa coesão e o trecho 2 mostra um exemplo de alto acoplamento.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O trecho 1 evidencia alto acoplamento: a classe que chama pensaoAlimenticia() precisa conhecer a estrutura interna de Util (cadeia Util.getFuncoes.getFuncoesData.calculaPensao(processo)), ou seja, depende de detalhes internos e de múltiplos objetos intermediários.
Esse encadeamento viola o encapsulamento e a Lei de Demeter, tornando o código frágil — qualquer mudança em uma das partes intermediárias exige alterações nos clientes.
Além disso, expor objetos internos sugere baixa coesão na classe utilitária, pois ela não oferece uma interface simples e focada.
O trecho 2 corrige isso: ao chamar apenas Util.calculaPensao(processo) há baixo acoplamento, pois o cliente depende somente de uma API estável e não dos detalhes internos.
Resultado: menor impacto por mudanças, melhor manutenção e maior clareza das responsabilidades — justificando a escolha da alternativa correta.
Conteúdo do catálogo FC Concursos · Atualizado em