Questão de Programação — Programação orientada a aspectos — Quadrix 2023
- Código
- qg029855
- Banca
- Quadrix
- Órgão
- CRQ 4ª Região-SP
- Ano
- 2023
- Nível
- Superior
- Cargo
- Profissionais de Atividade de Suporte - Analista de Sistemas (Rede)
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: ✅ CERTO. A associação é, de fato, um dos relacionamentos fundamentais da orientação a objetos e serve exatamente para modelar as interações e dependências entre objetos — é por meio dela que um objeto conhece e se comunica com outro. O enunciado descreve com precisão o papel da associação no paradigma.
Na orientação a objetos, os sistemas são projetados como um conjunto de objetos que interagem entre si. Essa interação não acontece por acaso: ela é estruturada por meio de relacionamentos entre classes, e a associação é o mais básico e genérico deles. Quando dizemos que uma classe "conhece" outra — ou seja, que um objeto possui uma referência para outro objeto — estamos diante de uma associação. Ela representa, no modelo, a ideia de que um objeto precisa de outro para realizar suas funções, criando um vínculo semântico entre eles.
A associação é a base para outros dois relacionamentos mais específicos: a agregação e a composição. A diferença está na intensidade do vínculo e na relação de ciclo de vida entre os objetos envolvidos. Na agregação, o objeto "todo" pode existir sem as "partes" (relação has-a fraca); na composição, as partes não existem sem o todo (relação has-a forte, com dependência de ciclo de vida). A associação genérica, por sua vez, não impõe essa hierarquia de posse — ela apenas estabelece que os objetos se relacionam.
Um exemplo prático: imagine as classes Pedido e Cliente. Um pedido está associado a um cliente — o pedido precisa saber quem é o cliente para funcionar. Essa é uma associação. Se modelarmos Pedido e ItemPedido, a relação é de composição: se o pedido for excluído, os itens também são. Já se modelarmos Carro e Motor, a relação é de agregação: o motor pode existir independentemente do carro. Perceba que, nos três casos, há interação e dependência entre objetos — exatamente o que o enunciado afirma sobre a associação.
A pegadinha que a banca poderia explorar aqui seria confundir associação com os demais relacionamentos (agregação, composição, dependência) ou com os pilares da POO (encapsulamento, herança, polimorfismo, abstração). Mas o enunciado é fiel ao conceito: a associação modela interações e dependências entre objetos. Não há nenhum termo trocado ou inversão de sentido — a afirmação está correta em sua totalidade.
Guarde a hierarquia dos relacionamentos: associação é o termo genérico; agregação e composição são especializações com regras de ciclo de vida. É essa distinção que separa o conceito correto das armadilhas que a banca pode montar em outras questões.
A afirmação está correta. A associação é um dos relacionamentos estruturais da orientação a objetos e tem exatamente a função de modelar como os objetos se relacionam, interagem e dependem uns dos outros. É por meio da associação que um objeto pode ter uma referência a outro e, assim, trocar mensagens (chamadas de métodos) com ele. O texto do enunciado — "a associação permite modelar interações e dependências entre objetos" — descreve com precisão o papel desse relacionamento no paradigma.
Para fixar, lembre-se da hierarquia dos relacionamentos: associação é o termo mais genérico (apenas "conhece"); agregação é uma associação com relação has-a fraca (a parte sobrevive ao todo); composição é uma associação com relação has-a forte (a parte não existe sem o todo). Na prova, quando o enunciado falar apenas em "interação" ou "dependência" entre objetos, a resposta é associação — os termos mais específicos aparecem quando há menção a ciclo de vida ou posse.
Gabarito: ✅ CERTO
Link permanente: /questoes/qg029855