Associação, Composição e Agregação
Em termos de modelagem do diagrama de classes, é simples a diferença entre uma associação simples, composição e agregação.
Mas qual é a diferença em termos de codificação? Como faço para representar em java cada uma destas relações?
Será que alguém poderia me ajudar?
Leia Garcia
Curtidas 1
Melhor post
Sergio Taborda
09/04/2009
[quote="fernanda_dias"]Em termos de modelagem do diagrama de classes, é simples a diferença entre uma associação simples, composição e agregação.
Mas qual é a diferença em termos de codificação? Como faço para representar em java cada uma destas relações?
Será que alguém poderia me ajudar?
Em termos de codificação a diferença não existe. Aquilo que programáticamente distingue as 3 são os controles que vc adicionar
por exemplo
public class Aviao {
// isto é composição
Motor motor = new Motor();
// isto é aggregação
public void add(Passageiro p){
p.embarc(this);
}
public void remove(Passageiro p){
p.debarc(this)
}
// isto é uma associação
public void setFlyightController (FlyightController controller);
public FlyightController getFlyightController ();
}
public class Passageiro {
Aviao aviao
public synchronized void enbarc(Aviao aviao ){
if (this.aviao ==null){
throw new IllegalStateException("O passageiro já consta de um aviao. Remova-o desse aviaão antes de o incluir em outro");
}
this.aviao = aviao
}
public void debarc(Aviao aviao){
if (aviao.equals(this.aviao)){
this.aviao = null;
}
}
}
GOSTEI 1
Mais Respostas
Ale
09/04/2009
Alguem pode me dar uma luz.
Tudo bem, entendi como ficam as classes quando há Composicao, Agregacao e Associacao, mas e o banco ?
Como ficam 'as tabelas' ?
Grata
GOSTEI 0
Ale
09/04/2009
[quote="alemarx"]Alguem pode me dar uma luz.
Tudo bem, entendi como ficam as classes quando há Composicao, Agregacao e Associacao, mas e o banco ?
Como ficam 'as tabelas' ?
Grata
Se você desenhar seu diagrama de classes, vai ficar muito parecido com o MER para o seu banco.
GOSTEI 0
Ale
09/04/2009
Entao eu tenho uma 'tabela' para Passageiro, uma para Voo e uma para o controle de voo !?
Voce poderia me desenhar esta estrutura para que eu possa compreender melhor , é dificil para mim ver as primary keys e chaves estrangeiras neste modelo.
Grata
GOSTEI 0
Douglas Eric
09/04/2009
[quote="alemarx"]Entao eu tenho uma 'tabela' para Passageiro, uma para Voo e uma para o controle de voo !?
Voce poderia me desenhar esta estrutura para que eu possa compreender melhor , é dificil para mim ver as primary keys e chaves estrangeiras neste modelo.
Grata
Não, sou um péssimo desenhista.
GOSTEI 0
Douglas Eric
09/04/2009
[quote="sekkuar"][quote="alemarx"]Entao eu tenho uma 'tabela' para Passageiro, uma para Voo e uma para o controle de voo !?
Voce poderia me desenhar esta estrutura para que eu possa compreender melhor , é dificil para mim ver as primary keys e chaves estrangeiras neste modelo.
Grata
Não, sou um péssimo desenhista. GOSTEI 0
Ale
09/04/2009
[quote="ryuuji"][quote="sekkuar"][quote="alemarx"]Entao eu tenho uma 'tabela' para Passageiro, uma para Voo e uma para o controle de voo !?
Voce poderia me desenhar esta estrutura para que eu possa compreender melhor , é dificil para mim ver as primary keys e chaves estrangeiras neste modelo.
Grata
Não, sou um péssimo desenhista. GOSTEI 0