Το
είναι ένας τύπος, όπως μια κλάση είναι ένας τύπος. Όπως μια κλάση, μια διεπαφή ορίζει μεθόδους. Σε αντίθεση με μια κλάση, μια διεπαφή δεν υλοποιεί ποτέ μεθόδους. Αντίθετα, οι κλάσεις που υλοποιούν τη διεπαφή εφαρμόζουν τις μεθόδους που ορίζονται από τη διεπαφή. Μια κλάση μπορεί να υλοποιήσει πολλαπλές διεπαφές.
Είναι η διεπαφή και η τάξη το ίδιο πράγμα;
Μια διεπαφή μπορεί να επεκτείνει πολλές διεπαφές. Μια κλάση μπορεί να υλοποιήσει πολλαπλές διεπαφές. Μια θυγατρική κλάση μπορεί να ορίσει αφηρημένες μεθόδους με την ίδια ή λιγότερο περιοριστική ορατότητα, ενώ η κλάση που υλοποιεί μια διεπαφή πρέπει να ορίζει όλες τις μεθόδους διεπαφής ως δημόσιες. Οι αφηρημένες κλάσεις μπορούν να έχουν κατασκευαστές αλλά όχι διεπαφές.
Είναι η διεπαφή αντικείμενο;
Μια διεπαφή είναι μια δομή/σύνταξη προγραμματισμού που επιτρέπει στον υπολογιστή να επιβάλλει ορισμένες ιδιότητες σε ένα αντικείμενο (κλάση). Για παράδειγμα, ας πούμε ότι έχουμε μια κατηγορία αυτοκινήτων και μια κατηγορία σκούτερ και μια κατηγορία φορτηγών. Κάθε μία από αυτές τις τρεις κλάσεις θα πρέπει να έχει μια ενέργεια start_engine.
Είναι οι διεπαφές σούπερ κλάσεις;
Θυμηθείτε, μια τάξη Java μπορεί να έχει μόνο 1 superclass, αλλά μπορεί να υλοποιήσει πολλαπλές διεπαφές. Έτσι, εάν μια κλάση έχει ήδη μια διαφορετική υπερκλάση, μπορεί να εφαρμόσει μια διεπαφή, αλλά δεν μπορεί να επεκτείνει μια άλλη αφηρημένη κλάση. Επομένως, οι διεπαφές είναι ένας πιο ευέλικτος μηχανισμός για την έκθεση μιας κοινής διεπαφής.
Είναι οι διεπαφές σαν τάξεις;
Όπως μια τάξη, μια διεπαφή μπορεί να έχει μεθόδους και μεταβλητές,αλλά οι μέθοδοι που δηλώνονται στη διεπαφή είναι εξ ορισμού αφηρημένες (μόνο υπογραφή μεθόδου, χωρίς σώμα). Οι διεπαφές καθορίζουν τι πρέπει να κάνει μια τάξη και όχι πώς. Είναι το σχέδιο της τάξης.