Εδώ είναι μια κατανομή:
* SuperClass/Parent Class: Αυτό αντιπροσωπεύει τη γενική έννοια. Ορίζει τα κοινά χαρακτηριστικά και συμπεριφορές που μοιράζονται οι υποκατηγορίες του.
* Υποκατηγορία/παιδική τάξη: Αυτό αντιπροσωπεύει μια πιο συγκεκριμένη περίπτωση της υπερκλάσης. Κληρονομεί όλα τα χαρακτηριστικά και τις συμπεριφορές της superclass και μπορεί να προσθέσει τα δικά της συγκεκριμένα χαρακτηριστικά.
Οφέλη από τη γενίκευση:
* Κωδικός επαναχρησιμοποίησης: Αποφεύγει την απόλυση καθορίζοντας τα κοινά χαρακτηριστικά και συμπεριφορές μία φορά στην υπερκλάση. Οι υποκατηγορίες κληρονομούν αυτόν τον κώδικα, μειώνοντας τον χρόνο και την προσπάθεια ανάπτυξης.
* Διατήρηση: Οι αλλαγές στην υπερκλάση διαδίδονται αυτόματα σε όλες τις υποκατηγορίες, απλοποιώντας τη συντήρηση. Εάν ένα κοινό χαρακτηριστικό χρειάζεται ενημέρωση, πρέπει να το αλλάξετε μόνο σε ένα μέρος.
* Επεκτετότητα: Προσθέστε εύκολα νέες υποκατηγορίες για να αντιπροσωπεύετε πιο συγκεκριμένους τύπους χωρίς να τροποποιήσετε τον υπάρχοντα κώδικα.
* Βελτιωμένη κατανόηση: Παρέχει μια σαφή ιεραρχική δομή που αντιπροσωπεύει τις σχέσεις μεταξύ διαφορετικών οντοτήτων, καθιστώντας το σύστημα ευκολότερο να κατανοηθεί και να διαχειριστεί.
Παράδειγμα:
Εξετάστε ένα σύστημα για τη διαχείριση των εργαζομένων. Θα μπορούσατε να έχετε ένα "άτομο" superclass με χαρακτηριστικά όπως το `name ',' asdure 'και' αριθμό τηλεφώνου '. Στη συνέχεια, θα μπορούσατε να έχετε υποκατηγορίες όπως «υπάλληλος», «διευθυντής» και «εργολάβος», το καθένα που κληρονομεί τα χαρακτηριστικά του «προσώπου», αλλά προσθέτοντας τα δικά του συγκεκριμένα χαρακτηριστικά (π.χ. «μισθός» για «υπάλληλο», «Τμήμα» για «Διευθυντή», «Contract_rate» για «εργολάβο»).
Η σχέση `is-a` είναι το κλειδί εδώ:ένας« υπάλληλος » * είναι ένα *« πρόσωπο », ένας« διευθυντής » * είναι ένα *« πρόσωπο »και ούτω καθεξής. Αυτή η σχέση "IS-A" δείχνει σαφώς μια γενίκευση.
Στα διαγράμματα UML, η γενίκευση αντιπροσωπεύεται από μια σταθερή γραμμή με ένα κοίλο τρίγωνο που δείχνει προς την υπερκλάση.
Στην ουσία, η γενίκευση προάγει τη modularity, τη δυνατότητα επαναχρησιμοποίησης και τη διατήρηση του σχεδιασμού του συστήματος με την οργάνωση των οντοτήτων σε μια ιεραρχική δομή που βασίζεται στις κοινότητες και τις διαφορές τους.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα