Skip to main content

Τι είναι η καθαρή εικονική λειτουργία;

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

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

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