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

Πίνακας περιεχομένων:

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

Βίντεο: Διαφορά μεταξύ πακέτου και διεπαφής στην Java

Βίντεο: Διαφορά μεταξύ πακέτου και διεπαφής στην Java
Βίντεο: Java 17 και Windows 11 έκδοση. Πληρωμένος αποβάτης και τα νέα MacBooks της Apple [MJC News #9] 2024, Ιούλιος
Anonim

Η βασική διαφορά μεταξύ Package και Interface στην Java είναι ότι το Package βοηθά στη μεθοδική κατηγοριοποίηση των κλάσεων για εύκολη πρόσβαση και διατήρησή τους, ενώ το Interface βοηθά στην υλοποίηση πολλαπλών κληρονομιών και στην επίτευξη αφαίρεσης.

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

Τι είναι το πακέτο στην Java;

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

Παράδειγμα πακέτων σε Java

Μερικά παραδείγματα πακέτων είναι τα εξής. Το πακέτο java.io περιέχει τις κλάσεις υποστήριξης εισόδου, εξόδου. Περιλαμβάνει File, PrintStream, BufferInputStream κ.λπ. Το πακέτο java.net περιέχει τις κλάσεις που σχετίζονται με τη δικτύωση. Μερικά παραδείγματα είναι URL, Socket, ServerSocket. Το πακέτο java.awt περιέχει όλες τις κλάσεις που απαιτούνται για τη δημιουργία γραφικών διεπαφών χρήστη. Αυτά είναι λίγα πακέτα Java API.

Όταν ο προγραμματιστής θέλει να χρησιμοποιήσει μια συγκεκριμένη κλάση στο πρόγραμμα, θα πρέπει να εισάγει αυτό το πακέτο. Εάν ο προγραμματιστής θέλει να χρησιμοποιήσει την κλάση BufferInputStream στο πακέτο java.io, θα πρέπει να γράψει τη δήλωση εισαγωγής ως εξής.

import java.util. BufferInoutStream;

Η παρακάτω δήλωση θα εισαγάγει όλες τις κλάσεις στο πακέτο Util.

import java.util.;

Είναι επίσης δυνατή η δημιουργία πακέτων που ορίζονται από το χρήστη.

υπάλληλος πακέτου;

Υπάλληλος δημόσιας τάξης {

}

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

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

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

Εικόνα 01: Τάξη Α

Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 2
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 2
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 2
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 2

Εικόνα 02: Τάξη Β

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

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

Τι είναι η διεπαφή στην Java;

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

Όταν μια κλάση επεκτείνει μια αφηρημένη κλάση, η νέα κλάση θα πρέπει να ορίζει όλη την αφηρημένη μέθοδο στην κλάση αφηρημένης. Με άλλα λόγια, ας υποθέσουμε ότι η αφηρημένη κλάση Α έχει μια αφηρημένη μέθοδο που ονομάζεται εμφάνιση. Η κλάση Β επεκτείνει την κλάση Α. Στη συνέχεια, η κλάση Β θα πρέπει να ορίσει την εμφάνιση της μεθόδου.

Παράδειγμα διεπαφής σε Java

Υποθέστε ότι τόσο η Α όσο και η Β είναι αφηρημένες κλάσεις. Εάν η κλάση C επεκτείνει τις Α και Β, αυτή η κλάση C πρέπει να ορίσει τις αφηρημένες μεθόδους και των δύο κλάσεων. Πρόκειται για πολλαπλή κληρονομικότητα. Η Java δεν υποστηρίζει πολλαπλή κληρονομικότητα. Για να το εφαρμόσει, ο προγραμματιστής θα πρέπει να χρησιμοποιήσει διεπαφές. Εάν τα Α και Β είναι διεπαφές, τότε η κλάση C μπορεί να τις υλοποιήσει. Ανατρέξτε στο ακόλουθο παράδειγμα.

Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 3
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 3
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 3
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 3

Εικόνα 03: Διεπαφή A

Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 4
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 4
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 4
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 4

Εικόνα 04: Διεπαφή B

Η διεπαφή Α έχει την αφηρημένη μέθοδο display1 και η διεπαφή Β έχει την αφηρημένη μέθοδο display2.

Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 5
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 5
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 5
Διαφορά μεταξύ πακέτου και διεπαφής στην Java_Figure 5

Εικόνα 05: Τάξη Γ

Η κλάση C υλοποιεί διεπαφές Α και Β. Επομένως, θα πρέπει να ορίζει και τις δύο μεθόδους.

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

Εικόνα 06: Κύρια μέθοδος

Τώρα στην κύρια μέθοδο, είναι δυνατό να δημιουργήσετε ένα αντικείμενο του C και να καλέσετε και τις δύο μεθόδους. Ομοίως, οι διεπαφές βοηθούν στην εφαρμογή πολλαπλής κληρονομικότητας στην Java.

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

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

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

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

Σύνοψη – Πακέτο έναντι διεπαφής σε Java

Η διαφορά μεταξύ Package και Interface στην Java είναι ότι το Package βοηθά στη μεθοδική κατηγοριοποίηση των κλάσεων για εύκολη πρόσβαση και διατήρησή τους, ενώ το Interface βοηθά στην υλοποίηση πολλαπλών κληρονομιών και στην επίτευξη αφαίρεσης.

Συνιστάται: