L'Association, la Composition et Agrégation - Mise en oeuvre avec java
Je suis un peu confus au sujet de Association, Aggregation and Composition
. Même si les charges de site web, les forums et le traite de ce sujet, je suis devenue plus confuse après la lecture de certains d'entre eux.
Je veux savoir si les éléments suivants sont corrects :
1.) Agrégation existera si le Tout est détruit. par exemple, une Engine
pourrait exister avec ou sans Car
.
2.) Composition - pas exister si l'objet est détruit. par exemple, un Room
ne peut pas exister sans un House
.
3.) Association - je ne suis pas sûr, dans ce cas, nous devrions utiliser ce. Quelqu'un peut-il commenter cette.
Quand il s'agit de l'écriture des codes Java pour l'Agrégation, COmposition et Association
4.) Agrégation
Class Car {
private Engine engine;
public void setEngine(Engine engine){
this.engine=engine;
}
public Engine getEngine(){
return engine;
}
}
Je pense que si c'est une Agrégation de l'association, puis il devrait y avoir accessors and mutators
défini. Est-ce correct ?
Selon ma définition de l'Agrégation, j'ai mentionné que si le Car
objet est détruit, le Engine
peut être consulté. Mais, je ne vois pas ce que hapenning dans le code ci-dessus. Si un objet est détruit, il n'y aura aucun moyen d'avoir accès au Moteur, comme car.getEngine()
. Alors, comment est-ce possible ?
Composition
Public House {
private Room room;
Public House (){
room = new Room (int noRooms, String nameOfHouse);
}
}
Je pense que si c'est un C0mposition
, alors il ne devrait pas être tout accessor mutator
fonctions. et l'Objet Room
doit être créé qu'à l'intérieur du Constructeur. et la méthode d'instance qui détient le room
objet doit être Private
? Suis-je la corriger ?
remarque: une Fois de plus, j'ai googlé, et a visité de nombreux sites/forums en essayant d'effacer mes doutes.Des questions similaires ont été publiées dans de nombreux forums, mais je n'ai plus confus à ce sujet. Quelqu'un peut-il m'aider à effacer mes doutes. Merci!!!!
OriginalL'auteur sharon Hwk | 2012-11-26
Vous devez vous connecter pour publier un commentaire.
Le type de l'association, a peu d'impact sur comment la mettre en œuvre. Le fait que c'est une agrégation ou de composition n'est qu'une différence sémantique.
La différence apparaît que si les objets sont conservées dans une base de données. Dans ce cas, si le conteneur de l'objet est supprimé de la base de données, le contenu de l'objet est également supprimé ou non, selon le type de l'association.
OriginalL'auteur JB Nizet
Pour définir l'agrégation de l'association, nous prenons un autre exemple.... Une personne et une entreprise...
Une personne et une entreprise sont deux entités individuelles, mais une personne peut travailler dans une entreprise et il est appelé comme un employé... de Sorte que l'employé a une existence dans le monde extérieur comme une personne. Donc, même si la société se perd, mais personne ne périra pas...
Je ne rentre pas dans les définitions de la société et de la personne, mais je pense qu'il aura un sens aujourd'hui.
Alors que la composition est une association entre une entreprise et un département. Dès que l'entreprise de périr, c'est le département n'a pas de sens, donc il doit périr...
Un autre exemple de composition de l'association est l'ordre et les différents éléments de la commande. Vous commander quelques livres(3) à partir d'une boutique en ligne. Dans ce cas, 3 lignes de commande(articles) doit être annulé si la commande est annulée. Donc l'existence de lignes de commande ne dépend que de la commande.
Manager utilise une carte magnétique pour entrer XYZ locaux. Le gestionnaire d'objet et la carte magnétique que l'utilisation des objets les uns des autres, mais ils ont leur propre objet de temps de la vie. En d'autres termes, ils peuvent exister l'un sans l'autre. Le point le plus important dans cette relation c'est qu'il n'existe pas de propriétaire.
Alors que dans l'agrégation d'un objet possède un autre objet...
C'est un lien sympa sur ces 3 concepts... Pour l'association, vous pouvez vérifier 2e exigence...
http://www.codeproject.com/Articles/330447/Understanding-Association-Aggregation-and-Composit
Association
?J'ai édité la réponse avec un lien. J'espère que ça aidera.
OriginalL'auteur Vishal
Plus de Vishal réponse, vous pourriez avoir un Employé classe étendant la classe Personne, de sorte que la Société détient un Employé à la place d'une Personne et quand la société est détruite, l'Employé va avec (perçus comme des ordures) et non pas une Personne. C'est juste pour être plus analogues à la réalité et peut ne pas être nécessaire.
OriginalL'auteur jsky
C'est une question difficile à couvrir l'ensemble des codes java pour les associations. Le mieux serait de télécharger EclipseUML Omondo qui est une sorte de Java UML de la bible. Cet outil est uniquement pour UML pour Java cartographie. Pas de MDD, mais vivent de synchronisation.
Yoiu pouvez regarder ce code vous obtenez à partir de votre diagramme de classe.
Le code est synchronisé en direct depuis l'interface graphique, diagramme de classes, donc vous pouvez jouer et refaire autant de fois que vous le souhaitez afin de couvrir l'ensemble des codes java.
Il y a encore 30 jours de copie d'évaluation qui vous permettent de suffisamment de temps pour voir ce qui doit être le code de java, même si les nouveautés sont réservées uniquement aux réglée par le client.
OriginalL'auteur UML GURU