Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Γιατί Abstract κλάσεις στη Java

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

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

Δημόσια αφηρημένη κατηγορία GreatHelper

αντίθεση με μη - αφηρημένες κατηγορίες , το σχέδιο στο οποίο εμφανίζεται ο κωδικός αυτός να μην μπορεί να δημιουργήσει " GreatHelper " στιγμιότυπα αντικειμένων

Η Κληρονομικότητα
Η

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

δημόσια τάξη SpecificHelper εκτείνεται GreatHelper

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

Η Σκοπός
Η

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

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

δημόσια τάξη SomeHelper επεκτείνει HelpfulOrganizer

Εντός του δήλωση διασύνδεσης , η μέθοδος περιγράμματα μπορεί να εμφανίζεται ως εξής :

getWords public String ( ) ?

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα