Εδώ είναι μια κατανομή:
Τι είναι μια διεπαφή:
* καθαρά αφηρημένη: Οι διεπαφές καθορίζουν μόνο μεθόδους, αλλά δεν παρέχουν λεπτομέρειες εφαρμογής (κωδικός). Λειτουργούν ως "σύμβολο κράτησης θέσης" για τις μεθόδους που θα εφαρμοστούν από τις τάξεις.
* Συμβόλαιο: Όταν μια κλάση "υλοποιεί" μια διεπαφή, υπόσχεται να παρέχει κωδικό εργασίας για όλες τις μεθόδους που ορίζονται σε αυτήν τη διεπαφή.
* Πολλαπλή κληρονομιά: Μια κλάση μπορεί να εφαρμόσει πολλαπλές διεπαφές, επιτρέποντάς της να κληρονομήσει τη λειτουργικότητα από διάφορες πηγές. Αυτό είναι διαφορετικό από την "κληρονομιά της τάξης", όπου μια τάξη μπορεί να κληρονομήσει μόνο από μία γονική τάξη.
* αφαίρεση: Οι διεπαφές συμβάλλουν στην προώθηση της αφαίρεσης εστιάζοντας στο τι πρέπει να κάνει ένα αντικείμενο (οι μεθόδους) χωρίς να υπαγορεύει πώς πρέπει να το κάνει (υλοποίηση).
Γιατί να χρησιμοποιήσετε διεπαφές;
* Κωδικός επαναχρησιμοποίησης: Οι διεπαφές ενθαρρύνουν τη modularity και την επαναχρησιμοποίηση του κώδικα. Δεδομένου ότι ορίζουν ένα κοινό σύνολο μεθόδων, μπορείτε να δημιουργήσετε πολλαπλές κλάσεις που εφαρμόζουν την ίδια διεπαφή, έχοντας έτσι παρόμοια λειτουργικότητα.
* Χαλαρή σύζευξη: Οι διεπαφές βοηθούν στην αποσύνδεση του κώδικα σας. Οι τάξεις αλληλεπιδρούν μεταξύ τους μέσω διεπαφών, πράγμα που σημαίνει ότι πρέπει να γνωρίζουν μόνο τις μεθόδους της διεπαφής, όχι τις συγκεκριμένες λεπτομέρειες εφαρμογής μιας άλλης κατηγορίας.
* Πολυμορφισμός: Οι διεπαφές επιτρέπουν τον πολυμορφισμό, επιτρέποντάς σας να αντιμετωπίζετε αντικείμενα διαφορετικών κατηγοριών που εφαρμόζουν την ίδια διεπαφή με ομοιόμορφο τρόπο. Αυτό είναι ζωτικής σημασίας για τη σύνταξη ευέλικτου και επεκτάσιμου κώδικα.
* Δοκιμαστικότητα: Οι διεπαφές διευκολύνουν τη δοκιμή του κώδικα σας παρέχοντας έναν τρόπο απομόνωσης και ψεύτικων εξαρτήσεων.
Παράδειγμα:
Ας υποθέσουμε ότι θέλετε να δημιουργήσετε ένα σύστημα για διαφορετικούς τύπους οχημάτων. Μπορείτε να ορίσετε μια διεπαφή που ονομάζεται «όχημα» με μεθόδους όπως `start ()`, `stop ()` και `quartherate ()`. Στη συνέχεια, θα μπορούσατε να δημιουργήσετε μαθήματα όπως το «αυτοκίνητο», το «μοτοσικλέτα» και το «φορτηγό» που εφαρμόζουν όλα τη διεπαφή «οχήματος», παρέχοντας τις συγκεκριμένες υλοποιήσεις για αυτές τις μεθόδους.
Συνοπτικά:
Οι διεπαφές στη Java είναι ισχυρά εργαλεία για το σχεδιασμό αρθρωτών, εύκαμπτων και επαναχρησιμοποιήσιμων κώδικα. Πρόκειται για μια θεμελιώδη έννοια στον αντικειμενοστραφή προγραμματισμό και είναι απαραίτητες για την οικοδόμηση ισχυρών εφαρμογών λογισμικού.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα