Διαφοράς μεταξύ υπερφόρτωσης και υπέρβασης Διαφορά μεταξύ

Anonim

Overloading vs. Overriding

Η υπερφόρτωση και η υπέρβαση είναι και τα δύο χαρακτηριστικά των περισσότερων γλωσσών προγραμματισμού. Η υπερφόρτωση είναι ένα χαρακτηριστικό που επιτρέπει τη δημιουργία διαφόρων μεθόδων με το ίδιο όνομα, στην ίδια κατηγορία αλλά διαφέρουν μεταξύ τους όσον αφορά τον τύπο της εισόδου και τον τύπο της εξόδου της λειτουργίας. Η υπερφόρτωση μεθόδου συσχετίζεται συνήθως με στατικές γλώσσες προγραμματισμού οι οποίες επιβάλλουν τον έλεγχο τύπου σε κλήσεις λειτουργίας. Αυτά πιθανότατα σχετίζονται με τη VB,. Net, C ++, D, Java, κτλ. Η παράκαμψη είναι μια βασική δεξιότητα που χρησιμοποιείται για αντικειμενοστρεφή προγραμματισμό και γίνεται όταν ένας χρήστης επαναπροσδιορίζει μια μέθοδο που έχει ήδη καθοριστεί σε μια υπάρχουσα ή γονική κλάση. Σε αυτή την τεχνική προγραμματισμού τα σενάρια κωδικοποιούνται για να εκτελούν συγκεκριμένες εργασίες επιτρέποντας σε ένα σενάριο γραμμένο σε χαμηλότερη ή υποκλάση να εφαρμόσει μια μέθοδο ή σύνολο οδηγιών που έχουν ήδη καθοριστεί σε οποιαδήποτε από τις γονικές ή ανώτερες τάξεις.

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

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

Περίληψη:

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

Μια μέθοδος σε μια κλάση με το ίδιο όνομα μεθόδου με διαφορετική υπογραφή ορίζεται ως μέθοδος υπερφόρτωσης. Υπέρβαση γνωστή ως μέθοδος σε μια κλάση με το ίδιο όνομα μεθόδου και ίδια επιχειρήματα / υπογραφή.

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

Η υπερφόρτωση επιτρέπει την κληρονομικότητα από την υπερκλάση.

Στην υπερτιμητική μέθοδο, η υποκατηγορία αντικαθιστά τη θέση της υπερκλάσης.

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