Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java

Πίνακας περιεχομένων:

Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java
Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java

Βίντεο: Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java

Βίντεο: Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java
Βίντεο: Levi's ® ORIGINAL HOUSEMARK TEE Λαδί 56605-0021 FW24 2024, Ιούλιος
Anonim

Βασική διαφορά – Συνάθροιση έναντι σύνθεσης στην Java

Η συνάθροιση είναι ένας συσχετισμός μεταξύ δύο αντικειμένων που περιγράφει τη σχέση "έχει-α". Η σύνθεση είναι ο πιο συγκεκριμένος τύπος συγκέντρωσης που συνεπάγεται ιδιοκτησία. Η βασική διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java είναι ότι, εάν το περιεχόμενο αντικείμενο μπορεί να υπάρχει χωρίς την ύπαρξη του κατέχοντος αντικειμένου, είναι συνάθροιση και εάν το περιεχόμενο αντικείμενο δεν μπορεί να υπάρξει χωρίς την ύπαρξη του αντικειμένου ιδιοκτησίας, είναι σύνθεση.

Ο Αντικειμενοστρεφής Προγραμματισμός (OOP) είναι ένα σημαντικό παράδειγμα στην ανάπτυξη λογισμικού. Χρησιμοποιείται για τη μοντελοποίηση του λογισμικού χρησιμοποιώντας αντικείμενα. Τα αντικείμενα δημιουργούνται χρησιμοποιώντας κλάσεις. Μια κλάση αποτελείται από ιδιότητες και μεθόδους. Υπάρχουν πολλά αντικείμενα στο λογισμικό. Κάθε αντικείμενο συνεργάζεται μεταξύ τους μέσω της μετάδοσης μηνυμάτων. Η σχέση μεταξύ δύο αντικειμένων είναι γνωστή ως συσχέτιση. Τόσο η συγκέντρωση όσο και η σύνθεση είναι δύο τύποι συσχέτισης. Η σχέση «έχει-α» περιγράφει ότι ένα αντικείμενο μπορεί να χρησιμοποιήσει ένα άλλο αντικείμενο. Η συγκέντρωση και η σύνθεση μπορούν να υλοποιηθούν σε γλώσσες που υποστηρίζουν το OOP. Εάν το αντικείμενο που περιέχεται μπορεί να υπάρχει χωρίς την ύπαρξη του κύριου αντικειμένου, τότε η συσχέτιση μεταξύ αυτών των δύο αντικειμένων είναι συνάθροιση. Εάν το αντικείμενο που περιέχεται δεν μπορεί να υπάρξει χωρίς την ύπαρξη του αντικειμένου ιδιοκτησίας, τότε η συσχέτιση μεταξύ αυτών των δύο αντικειμένων είναι μια σύνθεση.

Τι είναι η συγκέντρωση στην Java;

Η συγκέντρωση είναι ένας τύπος συσχέτισης. Εάν μια κλάση έχει μια αναφορά οντότητας, αυτή είναι γνωστή ως συνάθροιση. Η συγκέντρωση αντιπροσωπεύει τη σχέση έχει-μια. Ένα αντικείμενο Student μπορεί να έχει ιδιότητες όπως student_id, όνομα, διεύθυνση. Αυτό το αντικείμενο μπορεί επίσης να έχει ένα άλλο αντικείμενο που ονομάζεται διεύθυνση με τις δικές του πληροφορίες όπως πόλη, πολιτεία, χώρα. Σε αυτήν την περίπτωση, ο Μαθητής έχει μια διεύθυνση αναφοράς οντότητας. Είναι μια σχέση "έχει-α".

Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java
Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java

Εικόνα 01: Κατηγορία βαθμολογιών

Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java
Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java

Εικόνα 02: Κύριο πρόγραμμα για την περιγραφή της συνάθροισης

Σύμφωνα με το παραπάνω πρόγραμμα, η κλάση Marks αποτελείται από τρεις ιδιότητες που είναι οι βαθμοί Μαθηματικά, Αγγλικά και Φυσικές Επιστήμες. Ο Μαθητής έχει ένα αντικείμενο Marks. Έχει τις δικές του ιδιότητες που είναι σημάδια μαθηματικών, αγγλικών και φυσικών επιστημών. Στην κύρια μέθοδο, δημιουργείται ένα αντικείμενο Marks και εκχωρούνται τιμές σημάτων. Το αντικείμενο μαθητή που είναι s1 μπορεί να χρησιμοποιήσει το αντικείμενο σημειώσεων που είναι m1. Επομένως, ο Μαθητής και ο Marks έχουν τη σχέση «έχει-α». Το αντικείμενο Marks μπορεί να υπάρχει χωρίς το αντικείμενο Student. Επομένως, είναι μια συγκέντρωση.

Τι είναι η Σύνθεση στην Java;

Η σύνθεση είναι ένας τύπος συσχέτισης. Είναι μια συγκεκριμένη μορφή συνάθροισης που συνεπάγεται ιδιοκτησία. Ας υποθέσουμε ότι υπάρχουν δύο κλάσεις που ονομάζονται κλάση Α και Β. Εάν το αντικείμενο της κλάσης Β δεν μπορεί να υπάρξει εάν το αντικείμενο της κλάσης Α καταστραφεί, τότε αυτό είναι μια σύνθεση. Ένα βιβλίο αποτελείται από πολλές σελίδες. Αν καταστραφεί το βιβλίο, θα καταστραφούν και οι σελίδες. Τα αντικείμενα της σελίδας δεν μπορούν να υπάρχουν χωρίς το αντικείμενο βιβλίου. Ανατρέξτε στο παρακάτω πρόγραμμα.

Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java_Figure 03
Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java_Figure 03

Εικόνα 03: Τάξη στην τάξη

Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java_Figure 04
Διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java_Figure 04

Εικόνα 04: Σχολική τάξη

Βασική διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java
Βασική διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java

Εικόνα 05: Κύριο πρόγραμμα για την περιγραφή της σύνθεσης

Σύμφωνα με το παραπάνω πρόγραμμα, το Classroom έχει δύο ιδιότητες που είναι το όνομα και το numOfStudents. Το Σχολείο είναι μια συλλογή αντικειμένων της τάξης. Στην κύρια μέθοδο, δημιουργούνται δύο αντικείμενα Classroom. Αυτά προστίθενται στις «τάξεις». Αυτές οι «τάξεις» περνούν στο σχολικό αντικείμενο. Τέλος, το όνομα της τάξης και ο αριθμός των μαθητών τυπώνονται με επανάληψη στη συλλογή. Εάν το αντικείμενο του Σχολείου καταστραφεί, θα καταστραφούν και τα αντικείμενα της τάξης. Αυτό είναι ένα παράδειγμα σύνθεσης. Περιέχει επίσης τη σχέση «έχει-α» και υποδηλώνει επίσης ιδιοκτησία.

Ποια είναι η σχέση μεταξύ συνάθροισης και σύνθεσης στην Java;

Η συγκέντρωση και η σύνθεση είναι δύο τύποι συσχέτισης και η σύνθεση είναι ένας εξειδικευμένος τύπος συνάθροισης. Η σύνθεση είναι ένα υποσύνολο του Aggregation

Ποια είναι η διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java;

Συγκέντρωση vs Σύνθεση στην Java

Η συνάθροιση είναι ένας συσχετισμός μεταξύ δύο αντικειμένων που περιγράφει τη σχέση "έχει μια". Η σύνθεση είναι ένας πιο συγκεκριμένος τύπος συγκέντρωσης που συνεπάγεται ιδιοκτησία.
Χρήση
Η συνάθροιση χρησιμοποιείται όταν ένα αντικείμενο χρησιμοποιεί άλλο αντικείμενο. Σύνθεση χρησιμοποιείται όταν ένα αντικείμενο κατέχει άλλο αντικείμενο.
Επίδραση σε αντικείμενα
Συγκεντρωτικά, η καταστροφή του αντικειμένου ιδιοκτησίας δεν θα επηρεάσει το αντικείμενο που περιέχει. Στη σύνθεση, η καταστροφή του αντικειμένου ιδιοκτησίας θα επηρεάσει το αντικείμενο που περιέχει.

Σύνοψη – Συνάθροιση έναντι Σύνθεσης στην Java

Συγκέντρωση και Σύνθεση είναι δύο έννοιες στο OOP. Η σχέση «έχει-α» περιγράφει ότι ένα αντικείμενο μπορεί να χρησιμοποιήσει ένα άλλο αντικείμενο. Η συνάθροιση είναι ένας συσχετισμός μεταξύ δύο αντικειμένων που περιγράφει τη σχέση «έχει-α». Η σύνθεση είναι ένας πιο συγκεκριμένος τύπος συνάθροισης που συνεπάγεται ιδιοκτησία. Η διαφορά μεταξύ συνάθροισης και σύνθεσης στην Java είναι ότι, εάν το αντικείμενο που περιέχεται μπορεί να υπάρχει χωρίς την ύπαρξη του κατέχοντος αντικειμένου, τότε είναι συνάθροιση και εάν το περιεχόμενο αντικείμενο δεν μπορεί να υπάρξει χωρίς την ύπαρξη του αντικειμένου ιδιοκτησίας, είναι σύνθεση.

Συνιστάται: