Sobre a programação orientada a objetos, assinale a alternat...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E - Alta, baixo e alto.
A programação orientada a objetos (POO) é uma metodologia de desenvolvimento que busca representar conceitos ou entidades do mundo real em termos de "objetos", que possuem estados (dados) e comportamentos (métodos). Um dos pilares fundamentais da POO é a forma como as classes são estruturadas e interagem entre si. Abaixo, vamos detalhar os conceitos mencionados:
Coesão: Refere-se a quão relacionadas e focadas as responsabilidades de uma classe estão. Classes coesas têm métodos que estão estreitamente relacionados em sua função. Alta coesão é desejável e significa que uma classe tem uma única, bem-definida responsabilidade. Isso torna a classe mais fácil de manter e menos propensa a mudanças.
Acoplamento: Descreve o nível de interdependência entre classes. Classes fracamente acopladas têm menos dependências entre si, o que facilita a reutilização e manutenção, pois mudanças em uma classe têm menos chance de afetar outras. Baixo acoplamento é o objetivo, já que promove a independência entre as classes.
Encapsulamento: É o princípio de esconder detalhes da implementação de uma classe, expondo apenas o necessário para o uso externo. Uma classe bem encapsulada não permite que o estado de seus objetos seja modificado arbitrariamente, fornecendo métodos para manipulação desses estados de forma controlada. Alto encapsulamento protege a integridade dos dados e contribui para a modularidade do código.
Combinando esses princípios, buscamos criar sistemas com alta coesão, para que cada parte tenha um propósito bem definido; baixo acoplamento, para que as mudanças em uma parte tenham o mínimo impacto possível sobre as outras; e alto encapsulamento, para proteger e controlar o acesso aos dados internos da classe. Portanto, a alternativa E é a correta pois indica a melhor recomendação para o desenvolvimento e organização de classes dentro dos princípios de POO.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
E) Alta, baixo e alto.
Explicação:
- Coesão: A coesão é uma medida de quão relacionados e focados são os elementos dentro de uma classe. Quanto maior a coesão, melhor. Isso significa que os membros da classe (atributos e métodos) devem estar relacionados e trabalhar juntos para realizar uma tarefa específica. Uma classe coesa tem uma responsabilidade bem definida e realiza uma única tarefa. Isso torna o código mais organizado e legível.
- Acoplamento: O acoplamento é uma medida de como as classes estão interligadas e dependentes entre si. O ideal é que haja um baixo acoplamento, ou seja, as classes devem ser independentes e não devem depender de detalhes internos umas das outras. Isso permite que as mudanças em uma classe não afetem diretamente outras classes, tornando o código mais flexível e fácil de manter.
- Encapsulamento: O encapsulamento é um dos pilares da programação orientada a objetos e envolve a proteção dos detalhes internos de uma classe, ocultando-os de outras classes. O encapsulamento permite controlar o acesso aos atributos e métodos de uma classe, expondo apenas as interfaces necessárias para o mundo externo. Isso aumenta a segurança e a robustez do código.
Portanto, a melhor recomendação para o desenvolvimento e organização das classes é buscar alta coesão (focando em tarefas específicas), baixo acoplamento (minimizando as dependências entre as classes) e alto encapsulamento (protegendo os detalhes internos e expondo apenas interfaces necessárias). Isso resulta em um código mais organizado, flexível e fácil de manter.
- Coesão: Relacionamento e foco das responsabilidades de uma classe ou módulo (quanto mais focado, melhor).
- Acoplamento: Dependência entre classes ou módulos (quanto menos dependências, melhor).
- Encapsulamento: Ocultação dos detalhes internos de uma classe (quanto mais oculto, melhor para proteção e flexibilidade).
Esses três conceitos ajudam a construir sistemas de software mais modulares, fáceis de entender, manter e expandir.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo