Συνιστάται, 2024

Επιλογή Συντάκτη

Διαφορά μεταξύ πακέτων και διεπαφών στην Java

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

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

Βάση σύγκρισηςΠακέταΔιεπαφές
ΒασικόςΤα πακέτα είναι μια ομάδα κλάσεων ή / και διεπαφών μαζί.Οι διεπαφές είναι μια ομάδα αφηρημένων μεθόδων και σταθερών πεδίων.
Λέξη κλειδίΤα πακέτα δημιουργούνται χρησιμοποιώντας τη λέξη-κλειδί "Πακέτο".Οι διασυνδέσεις δημιουργούνται χρησιμοποιώντας τη λέξη-κλειδί "Διεπαφή".
Σύνταξηpackage_name;
δημόσια τάξη class_name {
.
(σώμα της τάξης)
.
}}
διεπαφή interface_name {
δήλωση μεταβλητών ·
δήλωση μεθόδου ·
}}
ΠρόσβασηΈνα πακέτο μπορεί να εισαχθείΜια διεπαφή μπορεί να επεκταθεί από μια άλλη διεπαφή και να εφαρμοστεί από την τάξη.
Πρόσβαση λέξη-κλειδίΤα πακέτα μπορούν να εισαχθούν χρησιμοποιώντας λέξη-κλειδί "εισαγωγής".Οι διεπαφές μπορούν να υλοποιηθούν χρησιμοποιώντας λέξη-κλειδί "εφαρμογής".

Ορισμός των συσκευασιών

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

Δημιουργία πακέτου

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

  1. Ανοίξτε ένα αρχείο και, στη συνέχεια, δηλώστε το όνομα του πακέτου στο επάνω μέρος του αρχείου, όπως το πακέτο package_name; ] το όνομα του πακέτου είναι το όνομα που θέλετε να δώσετε στο πακέτο.
  2. Στη συνέχεια, ορίζετε μια τάξη που θέλετε να βάλετε στο πακέτο και θυμηθείτε ότι το δηλώνετε δημόσια.
  3. Αποθηκεύστε το αρχείο ως αρχείο .java και στη συνέχεια μεταγλωττίστε το αρχείο και, στη συνέχεια, αποκτήστε ".class" για αυτό το αρχείο.
  4. Για να δημιουργήσετε ένα πακέτο για αυτό το αρχείο, η εντολή που χρησιμοποιείται είναι "javac -d. file_name.java. Μπορείτε να δείτε ότι το πακέτο δημιουργείται με ένα αρχείο ".class" στον τρέχοντα κατάλογο. Για να το τοποθετήσετε σε γονικό κατάλογο, χρησιμοποιήστε το "javac -d. . file_name.java ".
  5. Μπορείτε επίσης να δημιουργήσετε μια δευτερεύουσα συσκευασία, δηλώνοντας το όνομα της δευτερεύουσας συσκευασίας ως [package_name1. package_name2; ] στο επάνω μέρος του αρχείου.
 πακέτο Mypackage; δημόσια τάξη myclass {public void displayMypackage () {system.out.println ("εμφάνιση μεθόδουMypackage της κλάσης myclass του πακέτου Mypackage"); }} 

Χρήση της συσκευασίας

Τα πακέτα που δημιουργήθηκαν ή είναι διαθέσιμα στον κατάλογο μπορούν να χρησιμοποιηθούν στο πρόγραμμα χρησιμοποιώντας μια δήλωση εισαγωγής. Η λέξη-κλειδί που χρησιμοποιείται για την εισαγωγή οποιουδήποτε πακέτου στο πρόγραμμα σας είναι "εισαγωγή". Η δήλωση εισαγωγής μπορεί να γραφτεί με δύο τρόπους ή μπορείτε να πείτε ότι υπάρχουν δύο τρόποι πρόσβασης σε οποιοδήποτε πακέτο. Πρώτον, αν θέλετε να χρησιμοποιήσετε μια συγκεκριμένη κλάση από ένα πακέτο, η λέξη-κλειδί "εισαγωγής" ακολουθείται από το όνομα του πακέτου που ακολουθείται περαιτέρω από τον τελεστή dot και το όνομα κλάσης που θέλετε να χρησιμοποιήσετε από το πακέτο. Δεύτερον, αν θέλετε να χρησιμοποιήσετε πολλές κατηγορίες που περιέχονται στα πακέτα, τότε η λέξη-κλειδί εισαγωγής ακολουθείται από το όνομα του πακέτου που ακολουθείται από την τελεία και τον τελεστή "*".

 εισαγάγετε το όνομα_πλαίσιο. όνομα τάξης; ή εισαγάγετε το όνομα_συνομιλίας. *; 

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

Τώρα, ας δούμε τη χρήση του πακέτου με ένα παράδειγμα.

 εισαγωγή Mypackage. myclass {τάξη TestMypackage {δημόσιο στατικό κενό main (string args []) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // εμφάνιση μεθόδου εμφάνισηςΜη συσκευασία της κλάσης myclass του πακέτου Mypackage. 

Στον παραπάνω κώδικα, η τάξη TestMypackage έχει εισαγάγει το πακέτο Mypackage και έχει χρησιμοποιήσει τη μέθοδο displayMypackage ().

Ορισμός της διασύνδεσης

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

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

 περιοχή διασύνδεσης {float pi = 3.14; float find_area (float a, float b) {} τάξη Circle υλοποιεί περιοχή {float find_area (float a, float b) {επιστροφή (pi * a * a); } Κλάση κλάσεων {δημόσιο στατικό κενό κύρια (string args []) {Περιοχή A = νέα Περιοχή (); Κύκλος C = νέος κύκλος (); Α = C; float F = Περιοχή. find_area (10, 10); system.out.println ("Περιοχή του κύκλου είναι:" + F)? }} 

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

Βασικές διαφορές μεταξύ πακέτων και διεπαφών στην Java

  1. Ένα πακέτο είναι μια ομάδα κλάσεων και διεπαφών μαζί, ενώ μια διεπαφή είναι μια ομάδα αφηρημένων μεθόδων.
  2. Το πακέτο δημιουργείται χρησιμοποιώντας ένα πακέτο λέξεων-κλειδιών , ενώ μια διεπαφή δημιουργείται χρησιμοποιώντας μια διασύνδεση λέξεων-κλειδιών.
  3. Εάν πρόκειται να χρησιμοποιηθεί μια κλάση ή μια διεπαφή μέσα σε μια συσκευασία, η συσκευασία πρόκειται να εισαχθεί ενώ πρέπει να εφαρμοστεί μια διεπαφή.

Συμπέρασμα:

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

Top