Γιατί η δυναμική δέσμευση είναι σημαντική για την εφαρμογή του πολυμορφισμού;
Γιατί η δυναμική δέσμευση είναι σημαντική για την εφαρμογή του πολυμορφισμού;

Βίντεο: Γιατί η δυναμική δέσμευση είναι σημαντική για την εφαρμογή του πολυμορφισμού;

Βίντεο: Γιατί η δυναμική δέσμευση είναι σημαντική για την εφαρμογή του πολυμορφισμού;
Βίντεο: Κάνεις όνειρα ή βάζεις στόχους; | Νίκος Αυγερινός 2024, Ενδέχεται
Anonim

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

Έχοντας αυτό υπόψη, τι είναι ο πολυμορφισμός εξηγήστε τον ρόλο που παίζει η δυναμική σύνδεση στην εφαρμογή του πολυμορφισμού;

Αυτό είναι αυτό που λέμε στατικό δεσμευτικός : ο δεσμευτικός των ονομάτων συμβαίνουν κατά το χρόνο μεταγλώττισης (δηλαδή, στατικά). Ένας τέτοιος μηχανισμός ονομάζεται δυναμικό δέσιμο : ο δεσμευτικός των ονομάτων σε ένα εκτέλεση συμβαίνει κατά το χρόνο εκτέλεσης (δηλ. δυναμικός ). Δυναμικό δέσιμο είναι απαραίτητο για τις αντικειμενοστρεφείς γλώσσες προγραμματισμού εφαρμόζουν τον πολυμορφισμό.

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

Στη συνέχεια, το ερώτημα είναι, είναι πολυμορφισμός δυναμικής δέσμευσης;

Πολυμορφισμός στην Java έχει δύο τύπους: Χρόνος μεταγλώττισης πολυμορφισμός (στατικός δεσμευτικός ) και Runtime πολυμορφισμός ( δυναμικό δέσιμο ). Ένα σημαντικό παράδειγμα του πολυμορφισμός είναι ο τρόπος με τον οποίο μια γονική κλάση αναφέρεται σε ένα αντικείμενο θυγατρικής κλάσης. Στην πραγματικότητα, κάθε αντικείμενο που ικανοποιεί περισσότερες από μία σχέσεις IS-A είναι πολυμορφικό στη φύση.

Πόσο χρήσιμο είναι το δυναμικό δέσιμο στο ουπς;

Δυναμικό δέσιμο επιτυγχάνεται με τη χρήση εικονικών συναρτήσεων. Ο δείκτης της βασικής κλάσης οδηγεί στο παραγόμενο αντικείμενο κλάσης. Και μια συνάρτηση δηλώνεται εικονική στη βασική κλάση και, στη συνέχεια, η συνάρτηση αντιστοίχισης αναγνωρίζεται κατά το χρόνο εκτέλεσης χρησιμοποιώντας την καταχώρηση εικονικού πίνακα. Πώς περνούν τα στοιχεία σε ένα αντικειμενοστραφής γλώσσα προγραμματισμού ( OOP )?

Συνιστάται: