Αυτό το άρθρο θα αναλύσει τη χρήση και την εφαρμογή της παράκαμψης μεθόδου στην Java.
Τι είναι η 'Παράκαμψη μεθόδου' στην Java;
Εάν η θυγατρική κλάση περιέχει μια παρόμοια μέθοδο όπως καθορίζεται στη γονική της κλάση, αναφέρεται ως ' υπερισχύουσα μέθοδος ” στην Java. Με αυτόν τον τρόπο, οι λειτουργίες της θυγατρικής τάξης, δηλαδή η μέθοδος που παρακάμπτεται, τίθενται σε ισχύ.
Σκέψεις για την 'Παράκαμψη μεθόδου' στην Java
- Η μέθοδος πρέπει να περιέχει το ίδιο όνομα όπως στη μητρική κλάση της.
- Η μέθοδος πρέπει να έχει την ίδια παράμετρο όπως στη μητρική κλάση της.
- Η μέθοδος που κατανεμήθηκε ως ' τελικός ” δεν μπορεί να παρακαμφθεί.
Παράδειγμα 1: Παράκαμψη μιας μεθόδου σε Java
Σε αυτό το παράδειγμα, η μεθοδολογία της παράκαμψης μιας μεθόδου, π.χ. λειτουργία ” μπορεί να πραγματοποιηθεί μέσω κληρονομιάς:
τάξη Μητρική εταιρεία {
δημόσιο κενός δείξω ( ) {
Σύστημα . έξω . println ( 'Αυτό είναι Linuxhint!' ) ;
} }
τάξη Παιδί εκτείνεται Μητρική εταιρεία {
δημόσιο κενός δείξω ( ) {
Σύστημα . έξω . println ( 'Αυτό είναι Java!' ) ;
} }
δημόσιο τάξη Παράδειγμα {
δημόσιο στατικός κενός κύριος ( Σειρά [ ] args ) {
Παιδί αντικ = νέος Παιδί ( ) ;
αντικ. δείξω ( ) ;
} }
Στην παραπάνω επίδειξη, εφαρμόστε τα ακόλουθα βήματα:
- Αρχικά, δημιουργήστε μια τάξη γονέα (super) με το όνομα ' Μητρική εταιρεία '.
- Μέσα σε αυτήν την κλάση, ορίστε μια συνάρτηση με το όνομα ' showOut() » και εμφανίστε το δεδομένο μήνυμα στον ορισμό της (συνάρτησης).
- Μετά από αυτό, δημιουργήστε μια παιδική(υπο) τάξη με το όνομα ' Παιδί 'κληρονομώντας το' Μητρική εταιρεία ' τάξη μέσω του ' εκτείνεται » λέξη-κλειδί.
- Σε αυτήν την κλάση, παρακάμψτε τη συνάρτηση που ορίζεται στη μητρική κλάση της ορίζοντας την με το ίδιο όνομα ' showOut() » και εμφανίστε το δηλωμένο μήνυμα.
- Κατά κύριο λόγο, δημιουργήστε ένα αντικείμενο της τάξης παιδιού μέσω του ' νέος 'λέξη-κλειδί και το ' Παιδί() ” κατασκευαστής.
- Τέλος, καλέστε τη συνάρτηση ' showOut() ” με αναφορά στο δημιουργημένο αντικείμενο. Αυτό θα ενεργοποιήσει την παράκαμψη συνάρτηση αντί για την προεπιλεγμένη στη γονική κλάση.
Παραγωγή
Στην παραπάνω έξοδο, μπορεί να αναλυθεί ότι η τελευταία λειτουργία, δηλαδή η παράκαμψη τίθεται σε ισχύ.
Παράδειγμα 2: Χρήση λέξης-κλειδιού «super» στην παράκαμψη μεθόδου με χρήση Java
Στο συγκεκριμένο παράδειγμα, το « σούπερ Η λέξη-κλειδί μπορεί να συσχετιστεί για να επικαλεστεί τις λειτουργίες τόσο της προεπιλεγμένης, π.χ. γονικής όσο και της παρακαμφθείσας μεθόδου:
τάξη Μητρική εταιρεία {δημόσιο κενός δείξω ( ) {
Σύστημα . έξω . println ( 'Αυτό είναι Linuxhint!' ) ;
} }
τάξη Παιδί εκτείνεται Μητρική εταιρεία {
δημόσιο κενός δείξω ( ) {
σούπερ . δείξω ( ) ;
Σύστημα . έξω . println ( 'Αυτό είναι Java!' ) ;
} }
δημόσιο τάξη Παράδειγμα {
δημόσιο στατικός κενός κύριος ( Σειρά [ ] args ) {
Παιδί αντικ = νέος Παιδί ( ) ;
αντικ. δείξω ( ) ;
} }
Στο παραπάνω μπλοκ κώδικα:
- Ομοίως, δημιουργήστε μια γονική κλάση με το όνομα ' Μητρική εταιρεία ' και συσσωρεύστε τη συνάρτηση ' showOut() ' σε αυτό, εμφανίζοντας το παρεχόμενο μήνυμα.
- Στο επόμενο βήμα, δημιουργήστε μια παιδική τάξη με το όνομα ' Παιδί ” κληρονομώντας τη γονική τάξη.
- Εντός αυτής της κλάσης, παρομοίως, παρακάμψτε την ίδια συνάρτηση. Επίσης, συσχετίστε το « σούπερ λέξη-κλειδί με τη συνάρτηση για την επίκληση της προεπιλογής, δηλαδή τις λειτουργίες της συνάρτησης γονικής κλάσης.
- Τέλος, δημιουργήστε ένα αντικείμενο της θυγατρικής κλάσης και καλέστε τη συνάρτηση που παρακάμπτεται.
- Algorithm: Η εκτέλεση θα γίνει με τέτοιο τρόπο ώστε όταν κληθεί η παρακαμφθείσα συνάρτηση και το ' σούπερ Η λέξη-κλειδί θα αναφέρεται στη συνάρτηση γονικής κλάσης. Αυτό θα έχει ως αποτέλεσμα την ταυτόχρονη καταγραφή των λειτουργιών τόσο της γονικής όσο και της θυγατρικής τάξης στην κονσόλα.
Παραγωγή
Η παραπάνω έξοδος σημαίνει ότι το αποτέλεσμα της παράκαμψης συνάρτησης μπορεί επίσης να ακυρωθεί μέσω του ' σούπερ λέξη-κλειδί.
Παράδειγμα 3: Παράκαμψη της «τελικής» μεθόδου στην Java
Σε αυτό το παράδειγμα, μια συνάρτηση μπορεί να εκχωρηθεί ως ' τελικός ' στη γονική τάξη και αργότερα αναλύεται με πρόσβαση σε αυτήν στη θυγατρική τάξη:
τάξη Μητρική εταιρεία {τελικός δημόσιο κενός δείξω ( ) {
Σύστημα . έξω . println ( 'Αυτό είναι Linuxhint!' ) ;
} }
τάξη Παιδί εκτείνεται Μητρική εταιρεία {
δημόσιο κενός δείξω ( ) {
Σύστημα . έξω . println ( 'Αυτό είναι Java!' ) ;
} }
δημόσιο τάξη Παράδειγμα {
δημόσιο στατικός κενός κύριος ( Σειρά [ ] args ) {
Παιδί αντικ = νέος Παιδί ( ) ;
αντικ. δείξω ( ) ;
} }
Σύμφωνα με τον παραπάνω κώδικα, εφαρμόστε τα παρακάτω βήματα:
- Δημιουργήστε την τάξη γονέα ' Μητρική εταιρεία '.
- Μέσα σε αυτήν την κλάση, εκχωρήστε τη συνάρτηση ' showOut() ' όπως και ' τελικός ”, όπως υποδεικνύεται από την προηγούμενη λέξη-κλειδί.
- Τώρα, κληρονομήστε την τάξη των παιδιών ' Παιδί » από την πρώην συζητημένη τάξη. Εδώ, παρακάμψτε το εκχωρημένο ' τελικός ' συνάρτηση στη γονική τάξη.
- Κυρίως, δημιουργήστε ένα αντικείμενο του ' Παιδί ” τάξη και καλέστε την παράκαμψη συνάρτησης.
Παραγωγή
Η εκτέλεση του παραπάνω κώδικα θα καταγράψει το εμφανιζόμενο σφάλμα αφού το ' τελικός ” δεν μπορεί να παρακαμφθεί η μέθοδος.
συμπέρασμα
Εάν η θυγατρική κλάση περιέχει μια παρόμοια μέθοδο όπως καθορίζεται στη γονική κλάση της, αντιστοιχεί σε παράκαμψη μιας μεθόδου στην Java. Αυτή η προσέγγιση παρακάμπτει τις πρώτες μεθόδους και εφαρμόζει τις δεύτερες. Η υπέρβαση μπορεί να καλυφθεί μέσω του ' σούπερ 'ή το ' τελικός ' λέξεις-κλειδιά με διαφορετικούς τρόπους. Αυτό το ιστολόγιο συζήτησε την έννοια της παράκαμψης μεθόδου στην Java.