-
Prova e Questao apresentam relação de agregação: observem que uma prova é composta por uma ou várias questões. Relação 1..N é uma agregação, que pode ser classificada como composição quando as partes só existirem com a presença do todo.
Quanto a Questao e PerguntaSimples temos uma especialização. Precisamos imaginar Questao como uma entidade genérica, enquanto PerguntaSimples como uma especialização da entidade genérica.
-
Que coisa... achei que a classe Questão, por conter o atributo Pergunta, pudesse conter um objeto da classe PerguntaSimples. Não consegui ver relação de herança (especialização) aí. Alguém explica mais?
-
Eu entendi que o atributo Pergunta, da Classe Questao, corresponde à descrição da mesma. Observe que para cada uma existe uma numeração e sua descrição (Pergunta). A classe PerguntaSimples seria um classificação para a questão, ou seja, se ela é de nível simples. Futuramente é possível adicionar novos classificadores para a questão, como média e complexa.
Espero ter ajudado.
-
Na Agregação a parte pode existir independentemente do todo. exemplo: casa (todo) tijolo(parte) - um tijolo pode existir sem a parte-todo. portanto o comentário do colega refere-se a Composição.
Portanto, ao compararmos Prova com Questão, uma questão vai existir independentemente de existir uma prova, em outras palavras a parte sobrevive sem o todo.
-
class PerguntaSimples extends Pergunta
class Questao
private Pergunta pergunta;
class Prova
private List<Questao> questoes;
class Questao
private Questao questao;