Pular para o conteúdo principal

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

Engenharia de SoftwareUML
Código
vu196689
Banca
VUNESP
Órgão
Pref Campinas
Ano
2023
Cargo
Ana TI ( )
Segundo a definição da UML 2.0, para a visibilidade de diagramas de classe, há os níveis de visibilidade privada, de pacote, pública e protegida, utilizando-se os seguintes símbolos para tais níveis de visibilidade:
  1. Aprivada: $, pacote: &, pública: § e protegida: >.
  2. Bprivada: \, pacote: [, pública: ] e protegida: $.
  3. Cprivada: *, pacote: @, pública: % e protegida: <.
  4. Dprivada: <, pacote: #, pública: % e protegida: /.
  5. Eprivada: –, pacote: ~, pública: + e protegida: #.
Revelar gabarito e comentário

GabaritoE — privada: –, pacote: ~, pública: + e protegida: #.

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 em diagramas de classes UML

Gabarito: letra E. Na UML 2.0, os níveis de visibilidade de atributos e operações em diagramas de classes são representados por símbolos específicos: privada (-), pacote (~), pública (+) e protegida (#). A alternativa E é a única que apresenta corretamente todos os quatro símbolos.

A visibilidade em UML define o nível de acesso aos membros de uma classe (atributos e métodos). É um conceito fundamental da orientação a objetos, diretamente ligado ao encapsulamento. Os quatro níveis previstos na especificação UML são:

  • Pública (+): o membro é acessível por qualquer outra classe.

  • Privada (-): o membro é acessível apenas pela própria classe.

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

  • Pacote (~): o membro é acessível por classes do mesmo pacote (também chamado de package).

Esses símbolos aparecem antes do nome do atributo ou método no diagrama. Por exemplo, - saldo: double indica um atributo privado, enquanto + depositar(valor: double): void indica um método público.

A banca explora a confusão entre os símbolos, especialmente entre # (protegida) e ~ (pacote), que são os menos intuitivos. É comum o candidato trocar # por - ou ~ por +. A memorização dos quatro símbolos é essencial, pois questões como esta são frequentes em provas de Engenharia de Software.

PEGA ESSA DICA!

Para fixar, associe: + é o sinal de "mais" acesso (público), - é o sinal de "menos" acesso (privado), # lembra "hashtag" de "herança" (protegida) e ~ é o "til" de "pacote" (package).

1Pública (+)
Acessível por qualquer classe
2Privada (-)
Acessível apenas pela própria classe
3Protegida (#)
Própria classe + subclasses (herança)
4Pacote (~)
Classes do mesmo pacote
Visibilidade UML
LEVELsoulevel.com.br
Visibilidade UML: Pública (+) (Acessível por qualquer classe); Privada (-) (Acessível apenas pela própria classe); Protegida (#) (Própria classe + subclasses (herança)); Pacote (~) (Classes do mesmo pacote)

Alternativa A — ❌ Incorreta

Os símbolos apresentados ($, &, §, >) não correspondem a nenhum nível de visibilidade da UML. A banca inventou símbolos para confundir. O correto seria -, ~, +, #.

Alternativa B — ❌ Incorreta

Os símbolos \, [, ], $ não são utilizados na UML para visibilidade. O $ às vezes é usado em linguagens de programação para indicar membros estáticos, mas não é um símbolo de visibilidade UML.

Alternativa C — ❌ Incorreta

Os símbolos *, @, %, < não são utilizados na UML para visibilidade. O * pode aparecer em multiplicidades, mas não em visibilidade.

Alternativa D — ❌ Incorreta

Os símbolos <, #, %, / não são utilizados na UML para visibilidade. O # é o símbolo correto para protegida, mas os demais estão errados.

Alternativa E — ✅ Correta ⟵ GABARITO

A alternativa apresenta exatamente os quatro símbolos definidos pela UML: privada (-), pacote (~), pública (+) e protegida (#). É a única que corresponde à especificação.

Gabarito: letra E

Link permanente: /questoes/vu196689