Βασική διαφορά – Συνάθροιση έναντι Σύνθεσης
Ο Αντικειμενοστρεφής Προγραμματισμός (OOP) είναι ένα κοινό παράδειγμα στην ανάπτυξη λογισμικού. Το αντικείμενο είναι ένα παράδειγμα μιας κλάσης. Δεν είναι δυνατή η δημιουργία αντικειμένων ταυτόχρονα. Θα πρέπει να υπάρχει ένα σχέδιο ή μια περιγραφή για τη δημιουργία ενός αντικειμένου. Αυτό το σχέδιο είναι γνωστό ως τάξη. Μια κλάση περιέχει ιδιότητες και μεθόδους. Τα αντικείμενα δημιουργούνται χρησιμοποιώντας κλάσεις. Η τάξη και το αντικείμενο είναι παρόμοια με ένα σχέδιο και ένα σπίτι στον πραγματικό κόσμο. Δεν γίνεται να χτίσεις ένα σπίτι χωρίς σωστό σχέδιο. Ομοίως, μια κλάση χρησιμοποιείται για τη δημιουργία ενός αντικειμένου. Ένα αντικείμενο συνεργάζεται με άλλα αντικείμενα. Ένας σύνδεσμος με αντιπροσωπεύει τη σχέση δύο ή περισσότερων αντικειμένων ονομάζεται "συσχετισμός". Η συγκέντρωση και η σύνθεση είναι τύποι συσχετισμών. Περιγράφουν τη σχέση μεταξύ των τάξεων. Αυτό το άρθρο εξετάζει τη διαφορά μεταξύ συνάθροισης και σύνθεσης. Η βασική διαφορά μεταξύ συνάθροισης και σύνθεσης είναι ότι η συνάθροιση είναι μια συσχέτιση μεταξύ δύο αντικειμένων που περιγράφει τη σχέση "έχει μια" και η σύνθεση είναι ένας πιο συγκεκριμένος τύπος συνάθροισης που συνεπάγεται ιδιοκτησία.
Τι είναι η συγκέντρωση;
Μια σχέση μεταξύ δύο αντικειμένων εμφανίζεται σχεδιάζοντας μια γραμμή στην Ενοποιημένη γλώσσα μοντελοποίησης (UML). Ο σύνδεσμος είναι ένας συσχετισμός. Το UML βοηθά να αποκτήσετε μια οπτική αναπαράσταση του συστήματος. Είναι διαφορετικό από τις κανονικές γλώσσες προγραμματισμού. Ο συσχετισμός ορίζει επίσης την πολλαπλότητα των αντικειμένων. Είναι ένα-προς-ένα, ένα-προς-πολλά και πολλά-προς-πολλά. Όταν ένα μεμονωμένο αντικείμενο της κλάσης Α συσχετίζεται με το μοναδικό αντικείμενο της κλάσης Β, αυτό είναι μια σχέση ένα προς ένα. Ένα παράδειγμα είναι ένας συγγραφέας που γράφει ένα βιβλίο. Σε αυτό το παράδειγμα, ένας συγγραφέας γράφει ένα βιβλίο.
Όταν ένα αντικείμενο της κλάσης Α συσχετίζεται με πολλά αντικείμενα της κλάσης Β, είναι μια σχέση ένα προς πολλά. Ένα παράδειγμα είναι ότι ένα τμήμα μπορεί να έχει πολλούς υπαλλήλους. Όταν το αντικείμενο της κλάσης Α συσχετίζεται με πολλά αντικείμενα της κλάσης Β και ένα αντικείμενο της κλάσης Β συσχετίζεται με πολλά αντικείμενα της κλάσης Α, είναι ένας συσχετισμός πολλά-προς-πολλά. Ένα παράδειγμα είναι ότι ένας υπάλληλος μπορεί να εργάζεται σε πολλά έργα και ένα έργο μπορεί να έχει πολλούς υπαλλήλους.
Η συνάθροιση είναι συσχέτιση τύπου που περιγράφει περαιτέρω τη σχέση μεταξύ αντικειμένων. Η συνάθροιση περιγράφει τη σχέση «έχει μια». Μερικά παραδείγματα που περιγράφουν τη σχέση είναι, ένας μαθητής «έχει» φοιτητική ταυτότητα, ένα όχημα «έχει» κινητήρα. Είναι επίσης δυνατό να επεκτείνετε μια μεγάλη ποσότητα με τη σχέση. Μερικά παραδείγματα είναι ότι μια τράπεζα «έχει πολλούς» τραπεζικούς λογαριασμούς, μια τάξη «έχει πολλούς» μαθητές. Μπορεί να εξηγηθεί χρησιμοποιώντας το παρακάτω παράδειγμα.
Εικόνα 01: Συνάθροιση
Σύμφωνα με το παραπάνω παράδειγμα, η τάξη αποτελείται από έναν μαθητή ή πολλούς μαθητές. Η πολλαπλότητα χρησιμοποιείται επίσης για να υποδείξει τον αριθμό των αντικειμένων. Περιγράφει ότι μια τάξη έχει πολλούς μαθητές. Το σύμβολο του διαμαντιού αντιπροσωπεύει τη συγκέντρωση σε UML. Τα αντικείμενα μαθητή δεν βασίζονται στο αντικείμενο της κλάσης. Εάν το αντικείμενο της τάξης καταστραφεί, δεν θα επηρεάσει τα αντικείμενα του μαθητή. Αυτά τα αντικείμενα θα εξακολουθούν να υπάρχουν.
Τι είναι Σύνθεση;
Η σύνθεση είναι μια πιο συγκεκριμένη μορφή συνάθροισης. Περιγράφει την ιδιοκτησία. Μπορεί να εξηγηθεί χρησιμοποιώντας το παρακάτω παράδειγμα.
Εικόνα 02: Σύνθεση
Σύμφωνα με τα παραπάνω, το αντικείμενο βιβλίου αποτελείται από αντικείμενο σελίδας ή σελίδες. Η πολλαπλότητα χρησιμοποιείται επίσης για να υποδείξει τον αριθμό των αντικειμένων. Περιγράφει ότι μια τάξη έχει πολλούς μαθητές. Το σύμβολο του διαμαντιού που επισημαίνεται αντιπροσωπεύει τη σύνθεση σε UML. Καθώς το βιβλίο έχει μια σελίδα ή πολλές σελίδες, είναι μια συγκέντρωση, αλλά είναι πιο συγκεκριμένο. Εάν το αντικείμενο βιβλίου καταστραφεί, τότε καταστρέφονται και τα αντικείμενα της σελίδας. Τα αντικείμενα σελίδας δεν μπορούν να υπάρχουν χωρίς το αντικείμενο βιβλίου. Επομένως, η σύνθεση είναι μια πιο συγκεκριμένη μορφή συγκέντρωσης που συνεπάγεται ιδιοκτησία.
Ποιες είναι οι ομοιότητες μεταξύ συνάθροισης και σύνθεσης;
- Αμφότερα χρησιμοποιούνται στον Αντικειμενοστραφή Προγραμματισμό.
- Και τα δύο χρησιμοποιούνται στην Ενοποιημένη Γλώσσα Μοντελοποίησης (UML) για την οπτική κατανόηση του συστήματος.
Ποια είναι η διαφορά μεταξύ συνάθροισης και σύνθεσης;
Συγκέντρωση vs Σύνθεση |
|
Η συνάθροιση είναι ένας συσχετισμός μεταξύ δύο αντικειμένων που περιγράφει τη σχέση "έχει μια". | Η σύνθεση είναι ο πιο συγκεκριμένος τύπος συγκέντρωσης που συνεπάγεται ιδιοκτησία. |
Σύμβολο UML | |
Η συνάθροιση συμβολίζεται με ένα διαμάντι. | Η σύνθεση συμβολίζεται με ένα επισημασμένο διαμάντι. |
Λειτουργικότητα | |
Συγκεντρωτικά, εάν το αντικείμενο ιδιοκτησίας καταστραφεί, δεν θα επηρεάσει το αντικείμενο που περιέχει. | Στη σύνθεση, εάν το αντικείμενο ιδιοκτησίας καταστραφεί, θα επηρεάσει το αντικείμενο που περιέχει. |
Σύνοψη – Συνάθροιση vs Σύνθεση
Ο αντικειμενοστρεφής προγραμματισμός είναι ένα σημαντικό παράδειγμα στην ανάπτυξη λογισμικού. Στο OOP, το σύστημα μοντελοποιείται χρησιμοποιώντας αντικείμενα. Αυτά τα αντικείμενα δεν υπάρχουν μεμονωμένα. Τα αντικείμενα συνεργάζονται με άλλα αντικείμενα. Η σχέση μεταξύ των αντικειμένων είναι γνωστή ως συσχέτιση. Η συγκέντρωση και η σύνθεση είναι τύποι συσχέτισης. Η διαφορά μεταξύ συνάθροισης και σύνθεσης είναι ότι η συνάθροιση είναι μια συσχέτιση μεταξύ δύο αντικειμένων που περιγράφει τη σχέση «έχει μια» και η σύνθεση είναι ο πιο συγκεκριμένος τύπος συνάθροισης που συνεπάγεται ιδιοκτησία. Η συγκέντρωση και η σύνθεση βοηθούν στην κατανόηση της συμπεριφοράς του συστήματος.
Λήψη της έκδοσης PDF του Aggregation vs Composition
Μπορείτε να κατεβάσετε την έκδοση PDF αυτού του άρθρου και να τη χρησιμοποιήσετε για σκοπούς εκτός σύνδεσης σύμφωνα με τη σημείωση παραπομπής. Κάντε λήψη της έκδοσης PDF εδώ Διαφορά μεταξύ συνάθροισης και σύνθεσης