java:generic_interfaces
Interfaces ως παραμετρικοί τύποι δεδομένων
Εκτός από κλάσεις μπορούμε να ορίσουμε και διεπαφές ως παραμετρικούς τύπους. Το interface Stack που ορίζεται παρακάτω είναι ένα παράδειγμα παραμετρικού interface το οποίο προδιαγράφει τη λειτουργία της στοίβας.
- Stack.java
interface Stack <T> { public int size(); public boolean isEmpty(); public void push(T obj); public T pop(); public T top(); }
Το interface δηλώνει ότι η στοίβα λαμβάνει ως όρισμα ένα τύπο δεδομένων που αντιστοιχεί στα αντικείμενα που αποθηκεύονται σε αυτή.
Άλλο παράδειγμα παραμετρικού interface είναι το java.lang.Comparable<T> το οποίο δηλώνει τη μέθοδο int compareTo(T o) με την οποία συγκρίνονται δύο αντικείμενα του ιδίου τύπου. Η μέθοδος compareTo χρησιμοποιείται από αλγορίθμους ταξινόμησης, αλλά και από δομές δεδομένων που αποθηκεύουν τα δεδομένα ταξινομημένα. Η παράμετρος Τ δηλώνει τον τύπο δεδομένων των δύο αντικειμένων που θα συγκριθούν.
interface Comparable<T> { int compareTo(T o) }
Προηγούμενο: Παραμετρικοί τύποι δεδομένων | Περιεχόμενα | Επόμενο: Παραμετρικοί τύποι δεδομένων με πολλές παραμέτρους |
java/generic_interfaces.txt · Last modified: 2018/04/15 06:59 (external edit)