Κανονικά , όταν ένα πρόγραμμα περιέχει μια δήλωση κλάσης , άλλος κωδικός μπορεί να δημιουργήσει τις περιπτώσεις αντικείμενο της κλάσης που περιγράφεται μέσα σε αυτό . Όταν συμβαίνει αυτό , το προκύπτον αντικείμενο θα κρατήσει τα δεδομένα και να εφαρμόσουν τις μεθόδους που αναφέρονται στο πλαίσιο του δήλωση κλάσης . Όταν ένα πρόγραμμα δηλώνει μια τάξη ως αφηρημένη , αυτό δεν μπορεί να συμβεί , καθώς δεν μπορούν να δημιουργηθούν αντικείμενα της κλάσης . Το ακόλουθο δείγμα κώδικα δείχνει με την οποία μια τάξη ως αφηρημένη : .
Δημόσια αφηρημένη κατηγορία GreatHelper
αντίθεση με μη - αφηρημένες κατηγορίες , το σχέδιο στο οποίο εμφανίζεται ο κωδικός αυτός να μην μπορεί να δημιουργήσει " GreatHelper " στιγμιότυπα αντικειμένων
Η Κληρονομικότητα
Η
Παρόλο που τα προγράμματα δεν μπορούν να υπόσταση σε αφηρημένες κατηγορίες , μπορούν να τα επεκτείνουν . Java κληρονομιά επιτρέπει στους προγραμματιστές να επεκτείνουν ήδη υπάρχουσες δηλώσεις τάξη χρησιμοποιώντας την ακόλουθη σύνταξη :
δημόσια τάξη SpecificHelper εκτείνεται GreatHelper
Όταν μια κλάση επεκτείνει άλλη κλάση , κληρονομεί τις μεθόδους και τις ιδιότητες της γονικής κλάσης . Επέκταση μαθήματα μπορούν επίσης να παρέχουν πρόσθετη λειτουργικότητα πάνω από τα κληρονόμησε υπερομοταξία μεταβλητές και μεθόδους . Κληρονομικότητα είναι , συνεπώς, ένας τρόπος για να παρέχουν εξειδικευμένη λειτουργικότητα , με υποκατηγορίες που ειδικεύονται σε μια περιοχή ευθύνης που καλύπτει γενικότερα από την μητρική τάξη . Με μια αφηρημένη κατηγορία , η αρχή της κληρονομικότητας ισχύει επίσης , ώστε να μπορούν να instantiated υποκατηγορίες των αφηρημένων κλάσεων , αν και οι μητρικές τους δεν μπορούν .
Η Σκοπός
Η
Abstract κλάσεις επιτρέπει στους προγραμματιστές να δημιουργήσουν ορισμούς για σύνολα αντικειμένων που θα έχουν κάποιες κοινές ιδιότητες , αλλά και κάποιες διαφορές. Περίληψη τάξεις τυπικά εφαρμόσει μόνο εν μέρει τις ευθύνες τους , ενώ οι υποκατηγορίες τους, μπορούν να παρέχουν πιο λεπτομερή εφαρμογή προσαρμοσμένων στις εκάστοτε περιστάσεις . Περίληψη τάξεις μπορεί να περιέχουν τόσο αφηρημένη και μη αφηρημένες μεθόδους . Αφηρημένες μεθόδους μπορεί να εμφανιστεί μόνο στο πλαίσιο των αφηρημένων κλάσεων , με την προϋπόθεση ότι θα εφαρμόσουν υποκατηγορίες αυτές τις μεθόδους , εκτός αν αυτοί είναι αφηρημένα .
Εικόνων Εναλλακτικές
Η
Η κυριότερη εναλλακτική λύση για τη δημιουργία αφηρημένων κλάσεις, είναι η δημιουργία διασυνδέσεων . Όταν ένα πρόγραμμα περιλαμβάνει μια διεπαφή , δηλώσεις τάξη μπορεί να εφαρμόσει αυτό το περιβάλλον , παρά την επέκτασή του , όπως στην περίπτωση μιας αφηρημένης κατηγορίας . Μια λειτουργίες διεπαφής όπως ένα συμβόλαιο , που ορίζει τις μεθόδους που εκτελεστικών τάξεις πρέπει να παρέχουν , αλλά χωρίς λεπτομέρειες εφαρμογής ίδια . Μια διεπαφή μπορεί να απαριθμήσει τις μεθόδους που χρησιμοποιούν μόνο περιγράμματα τους , με την εφαρμογή τάξεις που παρέχουν τις λεπτομέρειες της μεθόδου. Το ακόλουθο δείγμα κώδικα δείχνει μια δήλωση κλάση που υλοποιεί μια διεπαφή :
δημόσια τάξη SomeHelper επεκτείνει HelpfulOrganizer
Εντός του δήλωση διασύνδεσης , η μέθοδος περιγράμματα μπορεί να εμφανίζεται ως εξής :
getWords public String ( ) ?
αντίθεση με αφηρημένες κλάσεις , διεπαφές δεν μπορεί να παράσχει οποιεσδήποτε λεπτομέρειες εφαρμογής
Η
εικόνων .
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα