Μια δύναμη του OOP έγκειται στην έννοια της κληρονομικότητας . Όταν ένας προγραμματιστής επιθυμεί να επεκτείνει τη λειτουργική ενός αντικειμένου , ή εάν ένα αντικείμενο μετοχές μεγάλο μέρος της λειτουργικά ενός άλλου αντικειμένου με μικρές μόνο διαφορές , ο προγραμματιστής μπορεί να αντλήσει μια τάξη από την άλλη . Όταν μία κλάση προέρχεται από άλλη κατηγορία ( η κατηγορία «βάση» ) , έχει πρόσβαση στις μεταβλητές και συναρτήσεις που ορίζονται στην πρώτη κατηγορία . Σε αυτό το παράδειγμα, η κλάση «μπάλα» προέρχεται από την κατηγορία " σφαίρα " και επεκτείνει τη λειτουργικότητα του
τάξη Σφαίρα {
κοινό: .
Int getRadius ( ) {
επιστρέψει r ?
}
int r ?
}
τάξη Ball : δημόσια σφαίρα {
κοινό:
χρώμα string?
}
εικόνων Virtual λειτουργίες
Η
από μια παράγωγη κλάση έχει πρόσβαση σε όλες τις λειτουργίες της βασικής κλάσης , μπορεί να τα χρησιμοποιήσει όπως κάθε χρόνο όπως θα ενεργούσε ως βασική κλάση . Ωστόσο , η παραγόμενη κλάση μπορεί να τροποποιήσει , αντί μια λειτουργία στην τάξη βάση για να ταιριάζει στις ανάγκες του . Επιπλέον, μια κλάση βάσης θα μπορούσε να χρησιμεύσει ως πρότυπο για παραγόμενη κλάση . Σε αυτή την περίπτωση , η βασική κλάση θα αναφέρουμε τις λειτουργίες χωρίς να ορίζει τι κάνουν , αντί να την αφήνει σε παραγόμενες κλάσεις . Μια συνάρτηση σε μια βασική κλάση που δεν κάνει τίποτα , αντίθετα αφήνει μια παραγόμενη κλάση για την εφαρμογή , ονομάζεται «εικονική» λειτουργία.
Η καταστροφείς
Η
Integral ένστασης του σχεδιασμού είναι η εφαρμογή του « κατασκευαστή » και « καταστροφέα » λειτουργίες . Μια συνάρτηση constructor για μια κατηγορία καθορίζει πώς ένα αντικείμενο που δημιουργήθηκε από την τάξη θα προετοιμάσει πρώτα τον εαυτό του ( τι προεπιλεγμένες τιμές δεδομένων που θα περιέχει , για παράδειγμα) . Η καταστροφέα , αντίθετα , καθορίζει τι συμβαίνει όταν ένα αντικείμενο διαγράφεται από τη μνήμη ( πώς οι πληροφορίες σε αυτό διαγράφεται , για παράδειγμα) . Αυτό το παράδειγμα κώδικα δείχνει πώς μια κλάση ορίζει την πρώτη κατασκευή και καταστροφέα λειτουργίες
τάξη Σφαίρα {
Sphere ( ) ? . //Κατασκευαστή
~ Sphere ( ) ? //Καταστροφέας
}
εικόνων Virtual καταστροφείς
Η
Εξαιτίας του τρόπου τάξεις και καταστροφείς εργάζονται , όταν μια παραγόμενη κλάση διαγράφεται από τη μνήμη , τόσο η destructor της παραγόμενης τάξη και η destructor της κλάσης βάσης πρέπει να ονομάζεται . Για να επιτευχθεί αυτό , οι προγραμματιστές να δημιουργήσουν εικονικές καταστροφείς στις βασικές κλάσεις , ότι οι παραγόμενες κλάσεις μπορούν να καθορίσουν . Αυτό το παράδειγμα δείχνει μια βασική κλάση με μια εικονική διάσπασης και παραγόμενη κλάση με το δικό του καταστροφέα της
τάξη Σφαίρα {
Sphere ()? .
Εικονική ~ Sphere ( ) { } ? //η " εικονική " λέξη υποδηλώνει μια εικονική τάξη
}
τάξη Ball : δημόσια σφαίρα {
Ball ( ) ?
~ Ball ( ) : //διαγραφή " μπάλα " αντικείμενο θα καλέσει αυτό καταστροφέα και του καταστροφέα σφαίρα
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα