Λειτουργία Overloading vs. Overriding σε C ++

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 4 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 5 Ενδέχεται 2024
Anonim
C++ | Модификаторы Типов | Указатели  Ссылки | 03
Βίντεο: C++ | Модификаторы Типов | Указатели Ссылки | 03

Περιεχόμενο

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


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

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

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


Περιεχόμενα: Διαφορά μεταξύ υπερφόρτωσης λειτουργίας και υπέρβασης στην C ++

  • Συγκριτικό διάγραμμα
  • Υπερφόρτωση
  • Υπέρβαση
  • Βασικές διαφορές
  • συμπέρασμα
  • Επεξηγηματικό βίντεο

Συγκριτικό διάγραμμα

ΒάσηΥπερφόρτωσηΥπέρβαση
ΕννοιαΗ υπερφόρτωση των λειτουργιών σε C ++ είναι πολυμορφισμός σύνταξης χρόνου

Η συνάρτηση που υπερισχύει στην C ++ είναι ένας πολυμορφισμός χρόνου εκτέλεσης.

 

Λέξη κλειδί Υπάρχει μια συγκεκριμένη λέξη-κλειδί στην υπερφόρτωσηΤο "εικονικό" είναι μια συγκεκριμένη λέξη-κλειδί σε λειτουργία overriding.
Εκπλήρωση Στη λειτουργία υπερφόρτωσης, υπάρχει η ολοκλήρωση του χρόνου.Σε λειτουργία που υπερισχύει, υπάρχει μια ολοκλήρωση χρόνου εκτέλεσης.
Δεσμευτικός Σε υπερφόρτωση λειτουργίας, υπάρχει πρόωρη σύνδεσηΣε λειτουργία που υπερισχύει, υπάρχει καθυστερημένη σύνδεση

Υπερφόρτωση

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


Υπέρβαση

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

Βασικές διαφορές

  1. Η υπερφόρτωση των λειτουργιών σε C ++ είναι πολυμορφισμός χρόνου μεταγλώττισης, ενώ η συνάρτηση overriding στην C ++ είναι χρόνος εκτέλεσης
  2. Υπάρχει μια συγκεκριμένη λέξη-κλειδί στην υπερφόρτωση, ενώ "Εικονική" είναι μια συγκεκριμένη λέξη-κλειδί σε λειτουργία overriding.
  3. Στη λειτουργία υπερφόρτωσης, υπάρχει μεταγλώττιση χρόνου, ενώ σε λειτουργία overriding υπάρχει ένα run-time
  4. Στην υπερφόρτωση λειτουργίας υπάρχει έγκαιρη δέσμευση, ενώ στην υπερκείμενη λειτουργία υπάρχει καθυστερημένη σύνδεση

συμπέρασμα

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

Επεξηγηματικό βίντεο