Τι είναι το Dynamic Binding στην Java και πώς να το χρησιμοποιήσετε;

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

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

Η δυναμική δέσμευση στο java είναι μια ουσιαστική ιδέα με την οποία πρέπει να είναι εξοικειωμένος κάθε προγραμματιστής.
Για να κατανοήσουμε τη λειτουργία της δυναμικής δέσμευσης, πρέπει να γνωρίζουμε έναν άλλο τύπο δέσμευσης, γνωστό ως Static Binding.





Συνεχίζοντας με αυτό το άρθρο σχετικά με τη Δυναμική δέσμευση στην Java

Στατική δέσμευση



Επίσης γνωστό ως Early Binding, είναι μια δέσμευση που επιλύεται από τον μεταγλωττιστή κατά το χρόνο μεταγλώττισης.

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

Παράδειγμα:



δημόσια τάξη Main {public static class superclass {static void print () {System.out.println ('This is the superclass')}} Η δημόσια κλάση στατικής κλάσης επεκτείνει την superclass {static void print () {System.out.println (' Αυτή είναι η υποκατηγορία ')}} δημόσιος στατικός κενός κενός (String [] args) {superclass sup = new superclass () superclass sub = new subclass () sup.print () sub.print ()}}

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

ο πίνακας συνδυάζει δύο πηγές δεδομένων

Παραγωγή:
Αυτή είναι η superclass
Αυτή είναι η superclass

Συνεχίζοντας με αυτό το άρθρο σχετικά με τη Δυναμική δέσμευση στην Java

Δυναμική δέσμευση στην Java

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

Παράδειγμα:

δημόσια τάξη Κύρια {δημόσια στατική τάξη superclass {void print () {System.out.println ('This is superclass')}} δημόσια στατική κλάση subclass επεκτείνει το superclass {@Override void print () {System.out.println ('This είναι subclass ')}} δημόσιος στατικός κενός κενός (String [] args) {superclass sup = new superclass () superclass sub = new subclass () sup.print () sub.print ()}}

Παραγωγή:

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

Συνεχίζοντας με αυτό το άρθρο σχετικά με τη Δυναμική δέσμευση στην Java

Διαφορά μεταξύ στατικής και δυναμικής δέσμευσης

βιογραφικό επίπεδο προγραμματισμού python

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

Έτσι, έχουμε φτάσει στο τέλος αυτού του άρθρου σχετικά με το 'Dynamic Binding In Java'. Εάν θέλετε να μάθετε περισσότερα, ρίξτε μια ματιά στο από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία μάθησης. Το μάθημα εκπαίδευσης και πιστοποίησης Java J2EE και SOA της Edureka έχει σχεδιαστεί για να σας εκπαιδεύσει τόσο για βασικές όσο και για προχωρημένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring.

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