Pular para o conteúdo principal

Questão de Engenharia de Software — UML — VUNESP 2023

Engenharia de SoftwareUML
Código
vu196960
Banca
VUNESP
Órgão
CIJUN
Ano
2023
Cargo
Ana ( )
A UML2.0 define quatro níveis de visibilidade para atributos e operações em uma classe, sendo dois desses níveis:
  1. Adiscreto e contínuo.
  2. Bdependente e independente.
  3. Coculto e público.
  4. Dde pacote e compacto.
  5. Eprivado e protegido.
Revelar gabarito e comentário

GabaritoE — privado e protegido.

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”.

Visibilidade de atributos e operações na UML

Gabarito: letra E. A UML 2.0 define quatro níveis de visibilidade para atributos e operações de uma classe: público, privado, protegido e pacote. A alternativa correta apresenta dois desses níveis: privado e protegido. A questão cobra o conhecimento da notação UML para visibilidade, que é um conceito fundamental da modelagem orientada a objetos.

A visibilidade em UML determina o grau de acesso aos atributos e operações de uma classe por outras classes. É um conceito herdado da programação orientada a objetos, onde o encapsulamento é um princípio chave. A UML padroniza quatro níveis de visibilidade, cada um com um símbolo específico que antecede o nome do atributo ou operação no diagrama de classes. Esses níveis são:

  • Público (+): o membro é acessível por qualquer outra classe. É o nível mais permissivo.

  • Privado (-): o membro é acessível apenas pela própria classe. É o nível mais restritivo.

  • Protegido (#): o membro é acessível pela própria classe e por suas subclasses (herança).

  • Pacote (~): o membro é acessível por todas as classes que pertencem ao mesmo pacote.

A escolha do nível de visibilidade é uma decisão de design importante, pois afeta o encapsulamento e o acoplamento entre classes. Usar o nível privado para atributos é uma boa prática, pois protege o estado interno do objeto. O nível protegido é útil quando se deseja que subclasses possam acessar diretamente membros da superclasse. O nível pacote é útil para agrupar classes que colaboram entre si.

A banca explora a confusão entre os níveis de visibilidade da UML e outros conceitos de modelagem, como tipos de dados (discreto/contínuo), relacionamentos (dependência/independência) ou modificadores de acesso de outras linguagens. É importante memorizar os quatro níveis e seus símbolos para responder corretamente a questões desse tipo.

Guarde a lista completa dos quatro níveis de visibilidade: público, privado, protegido e pacote. É exatamente essa lista que separa a alternativa correta das demais.

Critério

Público (+)

Privado (-)

Protegido (#)

Pacote (~)

Acesso pela própria classe

✅ Sim

✅ Sim

✅ Sim

✅ Sim

Acesso por subclasses (herança)

✅ Sim

❌ Não

✅ Sim

❌ Não

Acesso por classes do mesmo pacote

✅ Sim

❌ Não

❌ Não

✅ Sim

Acesso por qualquer classe (global)

✅ Sim

❌ Não

❌ Não

❌ Não

Nível de restrição

Mínimo

Máximo

Intermediário

Intermediário

Alternativa A — ❌ Incorreta

"Discreto e contínuo" são tipos de dados, não níveis de visibilidade. Na UML, atributos podem ter tipos como inteiro, string, booleano, mas isso não se relaciona com a visibilidade.

Alternativa B — ❌ Incorreta

"Dependente e independente" não são níveis de visibilidade. Esses termos podem se referir a tipos de relacionamento entre classes, como dependência, mas não definem o acesso a membros de uma classe.

Alternativa C — ❌ Incorreta

"Oculto e público" — embora "público" seja um nível de visibilidade, "oculto" não é um termo padrão da UML. O nível que se aproxima de "oculto" seria "privado", mas a alternativa não usa a nomenclatura correta.

Alternativa D — ❌ Incorreta

"De pacote e compacto" — "pacote" é um nível de visibilidade, mas "compacto" não é. A alternativa mistura um termo correto com um termo que não existe na UML.

Alternativa E — ✅ Correta ⟵ GABARITO

"Privado e protegido" são dois dos quatro níveis de visibilidade definidos pela UML. O nível privado (-) restringe o acesso à própria classe, enquanto o nível protegido (#) permite acesso à classe e suas subclasses. A alternativa apresenta corretamente dois níveis válidos.

PEGA ESSA DICA!

Para memorizar os quatro níveis de visibilidade da UML, associe cada símbolo ao seu significado: + (público), - (privado), # (protegido) e ~ (pacote). Em questões de prova, elimine alternativas que usem termos que não sejam esses quatro.

Gabarito: letra E

Link permanente: /questoes/vu196960