Σπίτι Προσωπικά Οικονομικά Κάνοντας γενικεύσεις σε UML 2 - dummies

Κάνοντας γενικεύσεις σε UML 2 - dummies

Βίντεο: Νέα τραγωδία σε πίστα σκι: Νεκρός νεαρός αθλητής του Χάντμπολ (Τατιάνα Live, 25/1/18) 2024

Βίντεο: Νέα τραγωδία σε πίστα σκι: Νεκρός νεαρός αθλητής του Χάντμπολ (Τατιάνα Live, 25/1/18) 2024
Anonim

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

Μερικοί προγραμματιστές με αντικείμενο το αντικείμενο θα πάνε σε μεγάλο βαθμό για να εξοικονομήσουν λίγη δουλειά. Όταν μπορούν να μοντελοποιήσουν κάτι και να το επαναχρησιμοποιήσουν, ενδιαφέρονται. Εάν μπορούν να γράψουν μια μέθοδο (τον κώδικα προγράμματος για μια λειτουργία) για μια τάξη μόνο μία φορά και να την χρησιμοποιήσουν πολλές φορές, τότε τις υπογράψουν για υψηλότερη παραγωγικότητα. Αν θέλετε να εξοικονομήσετε χρόνο, καθορίζοντας τις ιδιότητες και τις λειτουργίες μία φορά και στη συνέχεια επαναχρησιμοποιώντας πολλές φορές, διαβάστε το παρακάτω.

Καθώς ορίζετε τάξεις, μπορεί να παρατηρήσετε ότι ορισμένες κλάσεις έχουν τα ίδια χαρακτηριστικά ή τις ίδιες λειτουργίες. Όταν συμβαίνει αυτό, τοποθετείτε αυτά τα κοινά χαρακτηριστικά (χαρακτηριστικά, λειτουργίες κ.ο.κ.) σε μια πιο γενική κατηγορία που ονομάζεται υπερκλάση . Οι κλάσεις που μοιράζονται τις κοινές λειτουργίες είναι γνωστές ως υποκατηγορίες της υπερκλάσης. Για παράδειγμα, το μήκος του εγγεγραμμένου υλικού σε βιντεοκασέτα, ηχητική ζώνη, δίσκο CD ή κινηματογραφική ταινία είναι χαρακτηριστικό και των τεσσάρων ειδών των εγγεγραμμένων μέσων. Αυτές οι κλάσεις μπορούν επίσης να μοιράζονται και άλλα χαρακτηριστικά, όπως οι φυσικές τους διαστάσεις και η ημερομηνία που χρησιμοποιήθηκε για την πραγματοποίηση μιας εγγραφής. Σε αυτήν την περίπτωση, η υπερκλάση θα ήταν RecordedMedia, οι υποκατηγορίες θα ήταν Videotape, Audiotape, CompactDisc και MovieFilm, ενώ μερικά κοινά χαρακτηριστικά θα μπορούσαν να περιλαμβάνουν καταγεγραμμένοLength και totalLength.

Αυτή η διαδικασία εύρεσης παρόμοιων χαρακτηριστικών ή λειτουργιών μεταξύ των κλάσεων είναι γνωστή ως γενίκευση. Για παράδειγμα, γενικεύετε το recordLength σε μια πιο γενική κατηγορία που ονομάζεται RecordedMedia. Η διαδικασία για την εμφάνιση μιας γενίκευσης στο UML είναι απλή:

1. Προσδιορίστε τις υποκατηγορίες.

Εντοπίστε τάξεις που έχουν τα ίδια χαρακτηριστικά ή / και λειτουργίες. Αυτές οι κλάσεις είναι οι υποκατηγορίες σας.

2. Δημιουργήστε μια υπερκλάση.

Παρέχετε μια υπερκλάση για να διατηρείτε τα κοινά χαρακτηριστικά ή / και τις λειτουργίες των υποκατηγοριών. Δώστε στο superclass ένα όνομα που κατηγοριοποιεί όλες τις υποκατηγορίες. Η τοποθέτηση της υπερκλάσης πάνω από τις υποκατηγορίες στο διάγραμμα διευκολύνει την ανάγνωση αλλά δεν είναι απαραίτητη.)

3. Προσθέστε κοινά χαρακτηριστικά στην υπερκλάση.

Αφαιρέστε τις κοινές ιδιότητες και τις λειτουργίες από τις υποκατηγορίες και τοποθετήστε τις (μία φορά) στην υπερκλάση.

4. Σχεδιάστε μια σχέση γενίκευσης.

Σχεδιάζετε μια γραμμή γενίκευσης από κάθε υποκατηγορία στην υπερκλάση. Στο UML η γραμμή γενίκευσης αντιπροσωπεύεται ως μια συμπαγής γραμμή με ένα κοίλο βέλος στο άκρο της υπερκλάσης. Στο UML, μια γραμμή με το κοίλο βέλος που συνδέει μια υποκατηγορία με μια υπερκλάση είναι γνωστή ως σχέση γενίκευσης.

Αφού δημιουργήσετε μια υπερκλάση με τις κοινές λειτουργίες όπως τα χαρακτηριστικά και τις λειτουργίες, οι υποκατηγορίες κληρονομούν εκείνες τις λειτουργίες από την υπερκλάση. Με αυτό τον τρόπο πρέπει να γράψετε μόνο τα κοινά χαρακτηριστικά μιας φορά στην υπερκλάση αντί για πολλές φορές σε κάθε μία από τις υποκατηγορίες.

Μπορείτε να πείτε εάν έχετε μια γενίκευση εξετάζοντας τη γλώσσα που χρησιμοποιείτε εσείς (ή άλλοι) για να περιγράψετε τη σχέση μεταξύ των τάξεων. Παρατηρήστε ότι στην περιγραφή των εγγεγραμμένων μέσων και των διαφόρων τύπων της, όπως είναι η βιντεοταινία σε αυτή την ενότητα, εμφανίστηκε η φράση "τέσσερα είδη εγγράφων". Εάν βρίσκεστε χρησιμοποιώντας φράσεις όπως "είδος" ή "τύπος", τότε οι πιθανότητες είναι να έχετε γενίκευση στα χέρια σας.

Πείτε ότι ένας από τους πελάτες σας ενδιαφέρεται να παρακολουθείτε τα αρχεία σε ένα αρχείο. Αυτός ο πελάτης έχει συγκεντρώσει διαφορετικά είδη εγγεγραμμένων μέσων, όπως βιντεοκασέτες και ακουστικά. Ως μοντελιστές, πρέπει να καταγράψετε τις διαφορές μεταξύ αυτών των μέσων ενημέρωσης καθώς και τις ομοιότητές τους. Το διάγραμμα στο σχήμα 1 δείχνει τις αρχές αρκετών γενικοποιήσεων, διατεταγμένες σε μια ιεραρχία κληρονομιάς .

Εικόνα 1: Απλή ιεραρχία κληρονομιάς.

Οι προγραμματιστές χρησιμοποιούν τον όρο γενίκευση ή κληρονομικότητα για να αναφερθούν στην ίδια ιδέα της επαναχρησιμοποίησης των κοινών χαρακτηριστικών και των λειτουργιών που εμφανίζετε σε μια υποκατηγορία και επαναχρησιμοποίηση σε υποκατηγορίες. Η γενίκευση αναφέρεται στην έννοια της γενίκευσης από τις ειδικότητες (οι υποκατηγορίες) στο γενικό (η υπερκλάση). Η κληρονομιά αναφέρεται στην επίδραση της γενίκευσης στις υποκατηγορίες.

Όταν βλέπετε μια σχέση γενίκευσης μεταξύ των κλάσεων, η σημασία της είναι πολύ διαφορετική από αυτή μιας σχέσης μεταξύ των κλάσεων. Μια ένωση είναι τελικά μια σχέση μεταξύ πολλών αντικειμένων - μερικές περιπτώσεις μιας τάξης έχουν σχέση (σύνδεση) με στιγμές της άλλης τάξης. Σε μια σχέση γενίκευσης μεταξύ τάξεων , η σχέση είναι πραγματικά για τις τάξεις. Το καλύτερο που μπορείτε να πείτε είναι ότι ένα αντικείμενο που δημιουργείται από μια υποκατηγορία περιέχει όλα τα χαρακτηριστικά της υποκατηγορίας και της υπερκλάσης.

Έχετε μόνο ένα αντικείμενο από μια κλάση σε σχέση γενίκευσης. Παρόλο που εμφανίζετε δύο κατηγορίες, την υποκατηγορία και την υπερκλάση, έχετε μόνο ένα αντικείμενο που δημιουργείται. Μπορείτε να σκεφτείτε ότι ένα αντικείμενο της κλάσης Videotape αποτελεί επίσης αντικείμενο της κατηγορίας RecordedMedia λόγω κληρονομικότητας. Το σχήμα 2 δείχνει ένα αντικείμενο που δημιουργήθηκε από την κλάση Videotape με όλα τα χαρακτηριστικά του.(Η παρουσία μιας κλάσης αναπαρίσταται ως σύμβολο αντικειμένου.) Δεν έχετε δύο διαφορετικά αντικείμενα (ένα για RecordedMedia και ένα για Videotape), ένα μόνο αντικείμενο. Όταν δημιουργήθηκε το αντικείμενο vtu83-1023, ορίστηκαν όλες οι τιμές των χαρακτηριστικών του. Η εγγραφή στην ταινία είναι 57 λεπτά. Το συνολικό μήκος της φυσικής ταινίας είναι 60 λεπτά. Η ταινία είναι μια βιντεοκασέτα Umatic με ύψος 10 ίντσες, πλάτος 7 ίντσες και βάθος 1,5 ίντσες. Η εγγραφή είναι αναλογική και ένα αρχείο καταγραφής της ταινίας είναι προσαρτημένο στην ταινία για να αναφερθεί ο αρχειοφύλακας.

Εικόνα 2: Ένα στιγμιότυπο που εμφανίζει όλα τα κληρονομικά χαρακτηριστικά.

Έχετε μόνο ένα στιγμιότυπο που ορίζεται από μια υποκατηγορία και την υπερκλάση της. Η υποκατηγορία και η κλάση superclass μπορεί να έχουν μια λειτουργία κατασκευαστή (για να δημιουργηθεί το στιγμιότυπο) και μια λειτουργία destructor (για να καταστρέψει το στιγμιότυπο). Όταν το λογισμικό σας τρέχει και δημιουργείτε μια παρουσία μιας υποκατηγορίας, εκτελείται πρώτα ο κατασκευαστής της υπερκλάσης, ακολουθούμενος από τον κατασκευαστή της υποκατηγορίας. Όταν έρχεται χρόνος για την εξάλειψη του στιγμιότυπου που δημιουργήσατε, ο καταστροφέας της υποκλάσης καλείται πρώτα, ακολουθούμενος από τον καταστροφέα της υπερκλάσης. Αν τα πράγματα είναι πιο περίπλοκα επειδή έχετε υποκατηγορίες υποκλάσεων, θυμηθείτε απλώς: Οι κατασκευαστές καλούνται από την κορυφή της ιεραρχίας κληρονομιάς προς τα κάτω. οι καταστροφείς καλούνται από τη χαμηλότερη υποκατηγορία μέχρι την υψηλότερη υπερκλάση.

Κάνοντας γενικεύσεις σε UML 2 - dummies

Η επιλογή των συντακτών

Πρόσβαση χωρίς σύνδεση με το SharePoint Online Workspace - ανδρείκελοι

Πρόσβαση χωρίς σύνδεση με το SharePoint Online Workspace - ανδρείκελοι

Microsoft SharePoint Workspace είναι ο καλλιτέχνης παλαιότερα γνωστός ως Microsoft Office Groove desktop εφαρμογή προσαρμοσμένη για άτομα που θέλουν να συνεργάζονται σε έγγραφα online και offline. Προσφέρεται μαζί με το Office 2010 και παρέχει μια διεπαφή χρήστη παρόμοια με την Εξερεύνηση των Windows για προβολή και επεξεργασία αρχείων και λιστών από μια τοποθεσία του SharePoint. SharePoint Workspace ...

Διατίθενται στη δημοσίευση του SharePoint 2010 - dummies

Διατίθενται στη δημοσίευση του SharePoint 2010 - dummies

Το Site δημοσίευσης του sharePoint 2010 παρέχει μια πλούσια εμπειρία επεξεργασίας καθιστά εύκολο για ένα μη τεχνικό πρόσωπο να δημιουργήσει ιστοσελίδες. Η προσθήκη του περιεχομένου σας στη σελίδα είναι γρήγορη. Το SharePoint παρέχει πολλά είδη δοχείων περιεχομένου που μπορείτε να χρησιμοποιήσετε κατά τη δημιουργία της σελίδας σας, συμπεριλαμβανομένων των πλαισίων κειμένου μιας γραμμής για την εισαγωγή μιας απλής γραμμής κειμένου ...

Για ιστότοπους SharePoint Online - dummies

Για ιστότοπους SharePoint Online - dummies

Μπορείτε να δημιουργήσετε και να αναπτύξετε τρεις κύριους τύπους σελίδων του SharePoint όχι λιγότερο!) - το καθένα με ξεχωριστή λειτουργία: περιεχόμενο, τμήματα Web και εκδόσεις σελίδων. Σελίδα περιεχομένου: Επίσης γνωστή ως σελίδα wiki, αυτό είναι το μαχαίρι ελβετικού στρατού των σελίδων του SharePoint. Μια σελίδα περιεχομένου παρέχει όχι μόνο μια θέση ...

Η επιλογή των συντακτών

Τι είναι ένας χάρτης Java; - ανδρείκελα

Τι είναι ένας χάρτης Java; - ανδρείκελα

Πίνακες και εξειδικευμένες λίστες καθιστούν δυνατή την εκτέλεση μιας εκπληκτικής σειράς εργασιών με την Java. Ωστόσο, υπάρχουν περιπτώσεις όπου μια εφαρμογή Java χρειάζεται κάτι που είναι περισσότερο παρόμοιο με μια βάση δεδομένων, χωρίς να έχει όντως όλες τις αποσκευές της βάσης δεδομένων (όπως η αγορά μιας ξεχωριστής εφαρμογής). Για παράδειγμα, μπορεί να θέλετε να είστε σε θέση ...

Λίγα περίεργα πράγματα για το Java Math - dummies

Λίγα περίεργα πράγματα για το Java Math - dummies

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

Η επιλογή των συντακτών

Πώς να δουλεύεις με τη νέα γκάμα Blur στο Photoshop CS6 - ανδρείκελα

Πώς να δουλεύεις με τη νέα γκάμα Blur στο Photoshop CS6 - ανδρείκελα

Από τα τρία νέα φίλτρα Blur στο Photoshop CS6, θα έχετε επίσης πρόσβαση σε δύο σχετικούς πίνακες ελέγχου, Εργαλεία θόλωσης και Εφέ θόλωσης, τα οποία περιέχουν τις επιλογές σας. Και τα τρία φίλτρα σας επιτρέπουν να δημιουργήσετε ειδικά εφέ. Blur πεδίου: Δημιουργεί μια συνολική θόλωση στην εικόνα σας. Με την προσθήκη πρόσθετων σημείων ελέγχου ή καρφίτσες, ...

Τρόπος εργασίας με τον πίνακα ιδιοτήτων στο Photoshop CS6 - ανδρείκελα

Τρόπος εργασίας με τον πίνακα ιδιοτήτων στο Photoshop CS6 - ανδρείκελα

, αυτόνομο πλαίσιο Μάσκες στο Photoshop CS6 προς όφελος του πίνακα Ιδιότητες, ο οποίος περιλαμβάνει τώρα τις δυνατότητες των πλαισίων Μάσκες και Προσαρμογές. Δεν υπάρχουν όμως ανησυχίες. Κανένα από τα χαρακτηριστικά που παρείχε προηγουμένως ο πίνακας "Μάσκες" χάθηκε. Ο νέος πίνακας Ιδιότητες σάς δίνει τη δυνατότητα να προσθέσετε, να επεξεργαστείτε και να διαχειριστείτε το στρώμα σας, ...

Πώς να εργάζεστε με το σημείο εξαφάνισης στο Photoshop CS6 - ανδρείκελα

Πώς να εργάζεστε με το σημείο εξαφάνισης στο Photoshop CS6 - ανδρείκελα

Μπορείτε να κάνετε ρεαλιστικές τροποποιήσεις σε εικόνες που έχουν προοπτικά επίπεδα. Με το Σημείο Εκκίνησης, καθορίζετε τα επίπεδα στις εικόνες σας και, στη συνέχεια, χρησιμοποιώντας μια ποικιλία τεχνικών, προσθέστε ή εξαλείψτε αντικείμενα σε αυτά τα αεροπλάνα. Ανοίξτε μια εικόνα που χρειάζεται επεξεργασία. Εάν θέλετε να επικολλήσετε ...