Ποια είναι η διαφορά μεταξύ επέκτασης και υλοποίησης σε Java

Poia Einai E Diaphora Metaxy Epektases Kai Ylopoieses Se Java



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

Αυτό το ιστολόγιο θα τονίσει τις διαφορές μεταξύ Java 'extends' και 'Implements'.







Η Java 'επεκτείνει' Λέξη-κλειδί

Η Java' εκτείνεται 'η λέξη-κλειδί χρησιμοποιείται από μια παιδική τάξη, π.χ., ' συμπληρωματικός 'να κληρονομήσει τη γονική κλάση, δηλ., ' βάση ” αποκτώντας πρόσβαση στις λειτουργίες του.



Σύνταξη



τάξη Α {
// σώμα
}
Η κατηγορία Β επεκτείνεται στην Α {
// σώμα
}





Σε αυτή τη σύνταξη, ' σι 'αντιστοιχεί στην κλάση παιδιού που κληρονομεί τη γονική τάξη' ΕΝΑ 'μέσω του ' εκτείνεται » λέξη-κλειδί.

Παράδειγμα 1: Χρήση της λέξης-κλειδιού «extends» στην Java



Αυτό το παράδειγμα χρησιμοποιεί το ' εκτείνεται 'Λέξη-κλειδί για να κληρονομήσετε τον γονέα, δηλαδή, ' βάση ” τάξη:

τάξη Parentclass {
Συμβολοσειρά x = 'Μαλλιά' ;
}
η τάξη παιδιών επεκτείνει την τάξη γονέων {
δημόσια συμβολοσειρά concat ( ) {
ΕΠΙΣΤΡΟΦΗ x.concat ( 'ρυ' ) ;
} }
δημόσια τάξη Εκτείνεται {
δημόσιο στατικό κενό κύριο ( Σχόρδος [ ] ) {
αντικείμενο παιδικής τάξης = νέα παιδική τάξη ( ) ;
System.out.println ( αντικείμενο.συναγ ( ) ) ;
} }

Σύμφωνα με το παραπάνω απόσπασμα κώδικα, εφαρμόστε τα ακόλουθα βήματα:

  • Αρχικά, δηλώστε μια γονική κλάση με το όνομα ' Γονική τάξη '.
  • Στον ορισμό του, αρχικοποιήστε τη δηλωμένη μεταβλητή.
  • Τώρα, κληρονομήστε μια παιδική τάξη από τη γονική τάξη μέσω του ' εκτείνεται » λέξη-κλειδί.
  • Στον ορισμό της κλάσης παιδιού, ορίστε μια συνάρτηση με το όνομα ' concat() '.
  • Στον ορισμό της συνάρτησης, καλέστε τη μεταβλητή από τη γονική κλάση και προσθέστε τη δηλωμένη συμβολοσειρά μέσω του συσχετισμένου ' concat() 'μέθοδος.
  • Στο ' κύριος() ', δημιουργήστε ένα αντικείμενο κλάσης θυγατρικής χρησιμοποιώντας το ' νέος 'λέξη-κλειδί και το ' παιδική τάξη () ” κατασκευαστής.
  • Τέλος, καλέστε τη συνάρτηση κλάσης παιδιού ' concat() ” μέσω του δημιουργημένου αντικειμένου.

Παραγωγή

Σε αυτήν την έξοδο, μπορεί να απεικονιστεί ότι η λειτουργικότητα της γονικής κλάσης, π.χ., ' μεταβλητή(x) ' κληρονομείται κατάλληλα μέσω της λέξης-κλειδιού 'extends' και έτσι η συμβολοσειρά συνδέεται ανάλογα.

Λέξη-κλειδί «υλοποιεί» Java

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

Σύνταξη

δημόσια διεπαφή Όνομα διεπαφής {
κενό x ( ) ;
προεπιλογή κενό y ( ) {
// σώμα
}
}
Η κλάση z υλοποιεί το InterfaceName {
// σώμα της τάξης
}

Σε αυτή τη σύνταξη:

  • ' Χ ” αναφέρεται σε μια αφηρημένη μέθοδο.
  • ' και ' υποδεικνύει την προεπιλεγμένη μέθοδο.
  • ' τάξη z ' αντιστοιχεί στην κλάση που υλοποιεί το ' Όνομα διεπαφής ' διεπαφή μέσω του ' υλοποιεί » λέξη-κλειδί.

Παράδειγμα 2: Χρήση της λέξης-κλειδιού «υλοποιεί» στην Java

Σε αυτό το συγκεκριμένο παράδειγμα, μια διεπαφή που περιλαμβάνει ' αφηρημένη ' και ' Προκαθορισμένο Οι μέθοδοι μπορούν να εφαρμοστούν στην τάξη.

Κωδικός διεπαφής

ηλικία δημόσιας διεπαφής {
δημόσιο κενό όνομα ( ) ;
προεπιλεγμένο κενό DOB ( ) {
System.out.println ( 'DOB -> 28/8/1999' ) ;
} }

Στον παραπάνω κώδικα διεπαφής, συμπεριλάβετε μια αφηρημένη μέθοδο με το όνομα ' όνομα() ' και ορίστε την προεπιλεγμένη μέθοδο ' DOB() ” εκτυπώνοντας το αναγραφόμενο μήνυμα, αντίστοιχα.

Κωδικός τάξης

Τώρα, προχωρήστε στις ακόλουθες γραμμές κώδικα:

δείγμα εργαλείων τάξης ηλικία {
δημόσιο κενό όνομα ( ) {
System.out.println ( 'Όνομα -> David' ) ;
} }
διεπαφή δημόσιας τάξης2 {
δημόσιο στατικό κενό κύριο ( Σχόρδος [ ] ) {
δείγμα αντικειμένου = νέο δείγμα ( ) ;
αντικείμενο.όνομα ( ) ;
αντικείμενο.DOB ( ) ;
} }

Σε αυτό το μπλοκ κώδικα:

  • Ορίστε μια τάξη με το όνομα ' δείγμα «υλοποίηση της διεπαφής» ηλικία 'μέσω του ' υλοποιεί » λέξη-κλειδί.
  • Στον ορισμό της (κατηγορίας), ορίστε την αφηρημένη μέθοδο ' όνομα() ” που καθορίζεται στη διεπαφή που εμφανίζει το αναφερόμενο όνομα.
  • Στο ' κύριος() », δημιουργήστε ένα αντικείμενο κλάσης μέσω της προσέγγισης που συζητήθηκε.
  • Τέλος, καλέστε την αφηρημένη και την προεπιλεγμένη μέθοδο χρησιμοποιώντας το δημιουργημένο αντικείμενο, αντίστοιχα.

Παραγωγή

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

Βασικές διαφορές μεταξύ 'extends' και 'Implements' στην Java

Ακολουθούν μερικές από τις βασικές διαφορές μεταξύ των λέξεων-κλειδιών 'επεκτείνει' και 'εφαρμόζει' στην Java:

εκτείνεται υλοποιεί
Αυτή η λέξη-κλειδί μπορεί να χρησιμοποιηθεί από μια κλάση για να κληρονομήσει τη μητρική της κλάση ή μια διεπαφή για να κληρονομήσει άλλες διεπαφές. Μια κλάση μπορεί να υλοποιήσει τη διεπαφή μέσω της λέξης-κλειδιού «Implements».
Μόνο μια γονική κλάση μπορεί να επεκταθεί από μια τάξη. Μια κλάση μπορεί να υλοποιήσει/εφαρμόσει πολλαπλές διεπαφές ταυτόχρονα.
Δεν είναι υποχρεωτικό για μια θυγατρική κλάση που επεκτείνει μια γονική κλάση να παρακάμψει όλες τις μεθόδους σε μια γονική κλάση. Είναι υποχρεωτικό ότι μια κλάση που υλοποιεί μια διεπαφή πρέπει να υλοποιεί/εφαρμόζει όλες τις μεθόδους διεπαφής επίσης.

συμπέρασμα

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