Em um diagrama de classes da UML 2.0, deseja-se representar ...

Próximas questões
Com base no mesmo assunto
Q690239 Engenharia de Software
Em um diagrama de classes da UML 2.0, deseja-se representar uma relação entre 2 classes, K e Pb, que guardam entre si as seguintes características: I. Pb pode participar em qualquer relacionamento que já tenha sido construído com K. II. Pb herda de K os seus atributos e o seu comportamento. III. Caso algum comportamento em Pb seja diferente do de K, ele pode ser inserido ou modificado em Pb sem afetar K. O tipo de relacionamento que deve ser utilizado para representar a relação entre Pb e K, que satisfaça as características I, II e III é
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: A - Generalização.

A resposta correta é a Generalização. Este tipo de relacionamento é utilizado na UML para expressar uma hierarquia entre classes, onde uma classe herda atributos e comportamentos de outra classe. Na questão apresentada, as características descritas ajustam-se perfeitamente ao conceito de herança, o qual a generalização representa:

  • Pb pode participar em qualquer relacionamento que já tenha sido construído com K: Isso implica que Pb é uma espécie de extensão de K, característica da herança, onde a subclasse possui acesso aos relacionamentos da superclasse.
  • Pb herda de K os seus atributos e o seu comportamento: Esta é a definição explícita de herança em orientação a objetos, onde uma classe filha (Pb) herda características da classe pai (K).
  • Caso algum comportamento em Pb seja diferente do de K, ele pode ser inserido ou modificado em Pb sem afetar K: Este conceito é conhecido como sobrescrita (ou override), onde métodos herdados podem ser modificados na subclasse sem alterar a classe original (K).

A utilização da generalização permite que a classe Pb seja vista como um tipo especializado de K, com a possibilidade de adicionar ou modificar comportamentos sem alterar a classe K. Este é um princípio fundamental da programação orientada a objetos e é claramente expresso através do uso de uma seta fechada apontando da subclasse para a superclasse no diagrama de classes UML.

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

Generalização:  É uma forma de associação entre casos de uso na qual existem dois ou mais casos de uso com características semelhantes, apresentando pequenas diferenças entre si. 

Quem não tem acesso:  - -> A

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo