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

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

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

Ας ρίξουμε μια ματιά στον τρόπο χρήσης των διεπαφών Java.

Καθορισμός διεπαφών

Για να δηλώσετε μια διεπαφή, τοποθετήστε τη λέξη -κλειδί διεπαφή πριν από το όνομα διεπαφής.

διεπαφή αυτοκινήτου {
// σταθερές δηλώσεις, εάν υπάρχουν
int ελαστικά = 4;
// υπογραφές μεθόδου
int φώτα (int φωτεινότητα)?
στροφή int (ελαστικά int, κατεύθυνση συμβολοσειράς) {
// κάποιος κώδικας
}
}
instagram viewer

Στην κεφαλίδα διεπαφής, μπορείτε επίσης να συμπεριλάβετε το επίπεδο ορατότητάς του πριν από τη λέξη -κλειδί διεπαφή.

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

Σχετίζεται με: Πώς να διαχειριστείτε το εύρος μεταβλητών στην Java

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

Οι αφηρημένες μέθοδοι δηλώνονται αφήνοντας έξω τις σγουρές αγκύλες του σώματος μιας μεθόδου. Δείτε τη γραμμή 7 στον παραπάνω κώδικα. Οι στατικές μέθοδοι δηλώνονται προχωρώντας το όνομα της μεθόδου με τη λέξη -κλειδί στατικός & οι προεπιλεγμένες μέθοδοι δηλώνονται με το Προκαθορισμένο τροποποιητής.

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

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

Λοιπόν, εκεί είναι Προκαθορισμένο μπαίνουν μέθοδοι. Επιτρέπουν στους παρόχους API να προσθέσουν περισσότερες μεθόδους στις διεπαφές τους, ενώ διασφαλίζουν δυαδική συμβατότητα με παλαιότερες εκδόσεις διεπαφής.

προεπιλογή int getDirection (Συντεταγμένες συμβολοσειράς) {
// γράψτε κάποιο κώδικα για να δώσετε μια προεπιλεγμένη εφαρμογή
}

Η παραπάνω μέθοδος δείχνει πώς ονομάζεται μια προεπιλεγμένη μέθοδος getDirection δηλώνεται. Παρατηρήστε ότι πρέπει να συμπεριλάβετε μια εφαρμογή μιας προεπιλεγμένης μεθόδου όταν τη γράφετε.

Χρήση διεπαφών

Τώρα έχουμε ορίσει διεπαφές στη Java, μπορούμε να προχωρήσουμε στο πώς μπορείτε να τις εφαρμόσετε. Θα το βρείτε στην παρακάτω ενότητα.

Υλοποίηση διεπαφών

Για να εφαρμόσετε μια διεπαφή, χρησιμοποιήστε τη λέξη -κλειδί υλοποιεί χρησιμοποιώντας αυτήν τη σύνταξη:

η κλάση Α υλοποιεί διεπαφή P {
}

Θυμηθείτε ότι πρέπει να χρησιμοποιήσετε όλες τις μεθόδους διεπαφής στην τάξη. Μπορείτε να αγνοήσετε αυτόν τον κανόνα μόνο εάν μία από τις μεθόδους έχει οριστεί ως Προκαθορισμένο στη διεπαφή.

Σχετίζεται με: Εισαγωγή στη χρήση συνδεδεμένων λιστών στην Java

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

Παράδειγμα:

Η κλάση Α υλοποιεί διεπαφή P, Q, R {
}

Εάν η κλάση που υλοποιεί τη διεπαφή είναι υποκλάση, χρησιμοποιήστε την παρακάτω σύνταξη:

η κλάση Α επεκτείνει το Β εφαρμόζει τα Γ, Δ {
}

Οι διεπαφές επιτρέπουν πολλαπλές κληρονομικότητες στην Java. Συνήθως, μια τάξη μπορεί να επεκτείνει μόνο μία τάξη (απλή κληρονομικότητα). Οι διεπαφές είναι ο μόνος τρόπος με τον οποίο η Java μπορεί να πραγματοποιήσει πολλές κληρονομιές.

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

Δείτε το παρακάτω παράδειγμα:

η διεπαφή Α επεκτείνεται B { 
}

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

Τώρα έχετε μερικές βασικές γνώσεις σχετικά με τις διεπαφές Java

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

Μπορείτε να εφαρμόσετε πολυμορφισμό στην Java μέσω υπερφόρτωσης μεθόδου ή υπέρβασης μεθόδου. Επόμενο στη λίστα ανάγνωσης Java θα πρέπει να είναι ο τρόπος υλοποίησης αυτών των λειτουργιών.

ΜερίδιοΤιτίβισμαΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Πολυμορφισμός στην Java: Πώς να υπερφορτώσετε ή να παρακάμψετε μεθόδους

Περιορίστε τον κώδικα που γράφετε με υπερφόρτωση και υπέρβαση της μεθόδου.

Διαβάστε Επόμενο

Σχετικά θέματα
  • Προγραμματισμός
  • Ιάβα
  • Γλώσσες προγραμματισμού
  • Προγραμματισμός
Σχετικά με τον Συγγραφέα
Τζερόμ Ντέιβιντσον (Δημοσιεύθηκαν 25 άρθρα)

Ο Jerome είναι Staff Writer στο MakeUseOf. Καλύπτει άρθρα σχετικά με τον Προγραμματισμό και το Linux. Είναι επίσης λάτρης των κρυπτογράφησης και παρακολουθεί πάντα τη βιομηχανία κρυπτογράφησης.

Περισσότερα από τον Jerome Davidson

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή