Ποια είναι η διαφορά μεταξύ της υπερφόρτωσης μεθόδου και της παράκαμψης;



Αυτό το άρθρο καλύπτει τις βασικές διαφορές μεταξύ της υπερφόρτωσης μεθόδου και της παράκαμψης στην Java με διάφορα παραδείγματα, συμπεριλαμβανομένων των υπερ-λέξεων-κλειδιών και διαφόρων κανόνων.

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

Τι είναι η μέθοδος υπερφόρτωσης στην Java;

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





  • Δεν μπορούμε να υπερφορτώσουμε έναν τύπο επιστροφής.

  • Αν και μπορούμε να υπερφορτώσουμε , τα ορίσματα ή οι παράμετροι εισαγωγής πρέπει να είναι διαφορετικές.



  • Δεν μπορούμε να υπερφορτώσουμε δύο μεθόδους εάν διαφέρουν μόνο με μια στατική λέξη-κλειδί.

  • Όπως και άλλες στατικές μέθοδοι, η κύρια () μέθοδος μπορεί επίσης να υπερφορτωθεί.

μέθοδος υπερφόρτωσης - μέθοδος υπερφόρτωσης και υπέρβασης στο java-edureka



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

δημόσια τάξη Div {public int div (int a, int b) {return (a / b)} public int div (int a, int b, int c) {return ((a + b) / c)} δημόσιο στατικό κενό main (String args []) {Div ob = νέο Div () ob.div (10, 2) ob.div (10, 2, 3)}}
 Παραγωγή: 5 4

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

τι είναι ένας χώρος ονομάτων στο c ++

Γιατί η μέθοδος υπερφόρτωσης;

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

Υπερφόρτωση της κύριας () μεθόδου:

Ακολουθεί ένα παράδειγμα για την υπερφόρτωση της κύριας () μεθόδου στο java.

δημόσια τάξη Edureka {public static void main (String [] args) {System.out.println ('hello') Edureka.main ('edurekan')} public static void main (String arg1) {System.out.println (' Καλώς ήλθατε '+ arg1) Edureka.main (' welcome ',' to edureka ')} δημόσιο στατικό κενό (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
 Παραγωγή: γεια καλωσορίσατε edurekan γεια, καλώς ήλθατε στο edureka

Παραδείγματα υπερφόρτωσης μεθόδου

  • Πρόγραμμα υπερφόρτωσης στατικών μεθόδων στο java.
δημόσια τάξη Test {public static int func (int a) {return 100} public static char func (int a, int b) {return 'edureka'} δημόσια στατική κενή κενή (String args []) {System.out.println ( func (1)) System.out.println (func (1,3))}}
 Παραγωγή: 100 edureka
  • Πρόγραμμα υπερφόρτωσης τριών μεθόδων με το ίδιο όνομα.
δημόσια τάξη Προσθήκη {δημόσια int add (int a, int b) {return (a + b)} public int add (int a, int b, int c) {return (a + b + c)} δημόσια διπλή προσθήκη (διπλή a, double b) {return (a + b)} public static void main (String args []) {Add ob = new Add () ob.add (15,25) ob.add (15,25,35) ob .add (11.5, 22.5)}}
 Παραγωγή: 40 75 34

Τι είναι η μέθοδος παράκαμψης στην Java;

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

Εάν το αντικείμενο θυγατρικής κλάσης καλέσει τη μέθοδο, η μέθοδος θυγατρικής τάξης θα αντικαταστήσει τη μέθοδο γονικής τάξης. Διαφορετικά, εάν το αντικείμενο της γονικής κλάσης καλέσει τη μέθοδο, η μέθοδος της γονικής κλάσης θα εκτελεστεί.

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

class Parent {void view () {System.out.println ('this is a mother class class)}} class Child επεκτείνει το γονέα {void view () {System.out.println (' this is a child class class)}} δημόσιος στατικός κενός κενός (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
 Παραγωγή: αυτή είναι μια μέθοδος παιδικής τάξης

Κανόνες για παράκαμψη μεθόδου

  • ο πρόσβαση επεξεργασίας μπορεί να επιτρέψει περισσότερη πρόσβαση μόνο για την παράκαμψη μεθόδου.

  • ΠΡΟΣ ΤΟ τελικός Η μέθοδος δεν υποστηρίζει παράκαμψη μεθόδου.

    τι κρύβεται η μέθοδος στο java
  • Δεν είναι δυνατή η παράκαμψη μιας στατικής μεθόδου.

  • Δεν είναι δυνατή η παράκαμψη των ιδιωτικών μεθόδων.

  • Ο τύπος επιστροφής της μεθόδου παράκαμψης πρέπει να είναι ο ίδιος.

  • Μπορούμε να καλέσουμε τη μέθοδο γονικής τάξης με τη μέθοδο παράκαμψης χρησιμοποιώντας την υπέρ λέξη-κλειδί

  • ΠΡΟΣ ΤΟ οικοδόμος δεν μπορεί να παρακαμφθεί επειδή μια τάξη παιδιών και μια γονική τάξη δεν μπορούν να έχουν τον κατασκευαστή με το ίδιο όνομα.

Παράδειγμα παράκαμψης μεθόδου

  • Πρόγραμμα για εμφάνιση υπερισχύουσας χρήσης σούπερ λέξεων-κλειδιών
class Parent {void show () {System.out.println ('γονική class class')} class Child επεκτείνει το γονέα {void show () {super.show () System.out.println ('child class method')} δημόσια static void main (String args []) {Γονέας ob = new Child () ob.show ()}}
 Παραγωγή: μέθοδος γονικής τάξης μέθοδος παιδικής τάξης

Υπερφόρτωση έναντι παράκαμψης: Διαφορά μεταξύ υπερφόρτωσης μεθόδου και παράκαμψης μεθόδου

Ακολουθούν οι βασικές διαφορές μεταξύ της υπερφόρτωσης μεθόδου και της παράκαμψης στην Java.

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

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

Η γλώσσα προγραμματισμού Java είναι ένα αποκορύφωμα στον αντικειμενοστρεφή προγραμματισμό και ενσωματώνει πολλές εφαρμογές. Με τη ζήτηση και τη δημοτικότητα, ένας επίδοξος προγραμματιστής java πρέπει να είναι ικανός στις βασικές έννοιες της γλώσσας προγραμματισμού. Εγγραφείτε στο Edureka's για να ξεκινήσετε τη μάθησή σας.

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