Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — FUNDATEC 2023

ProgramaçãoProgramação Orientada a Objetos
Código
qq896838
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Programação de Sistemas na Tecnologia Java
A orientação a objetos especifica diversos conceitos, dentre eles, a coesão de classes. O conceito de coesão de classes define que cada classe:
  1. ANecessita pelo menos um método abstrato para ser considerada abstrata.
  2. BPrecisa implementar o maior número possível de dependências, como forma de estruturar bem os relacionamentos com outras classes.
  3. CObtém da superclasse os atributos e métodos para proporcionar reuso de código-fonte.
  4. DRequer atributos privados e métodos públicos para impor maior segurança.
  5. EDeve representar uma única entidade em relação ao domínio de um problema.
Revelar gabarito e comentário

GabaritoE — Deve representar uma única entidade em relação ao domínio de um problema.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Coesão de Classes em Orientação a Objetos

Gabarito: alternativa E. A coesão de classes é um princípio que determina que uma classe deve ter uma responsabilidade bem definida e focada, representando uma única entidade do domínio do problema. Isso garante que a classe seja coesa, com seus métodos e atributos fortemente relacionados, facilitando a manutenção e o entendimento.

Alternativa A — ❌ Incorreta

Afirma que uma classe abstrata precisa de pelo menos um método abstrato. Isso é verdade sobre classes abstratas, mas não é o conceito de coesão. A coesão independe de a classe ser abstrata ou concreta.

Alternativa B — ❌ Incorreta

Sugere que a classe deve implementar o maior número possível de dependências. Isso se refere a acoplamento, não coesão. Uma classe coesa tem baixo acoplamento e alta coesão; implementar muitas dependências aumenta o acoplamento, o que é prejudicial.

Alternativa C — ❌ Incorreta

Descreve herança: uma subclasse obtém atributos e métodos da superclasse para reuso. Isso é herança, não coesão. A coesão trata da responsabilidade interna da classe, não da relação hierárquica.

Alternativa D — ❌ Incorreta

Refere-se a encapsulamento: atributos privados e métodos públicos para segurança. Embora seja uma boa prática, não define coesão. Encapsulamento e coesão são conceitos distintos.

Alternativa E — ✅ Correta ⟵ GABARITO

"Deve representar uma única entidade em relação ao domínio de um problema." Esta é a definição precisa de coesão: a classe deve ser especializada e focada, com todos os seus membros contribuindo para uma única responsabilidade. Isso está alinhado com o Princípio da Responsabilidade Única (SRP).

PEGA ESSA DICA!

Em provas, desconfie de alternativas que misturam conceitos de OO: coesão não é herança, encapsulamento, abstração ou acoplamento. Memorize que coesão = foco em uma única entidade/responsabilidade.

Link permanente: /questoes/qq896838