User Tools

Site Tools


java:generic_interfaces

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
java:generic_interfaces [2017/02/07 15:05]
gthanos created
java:generic_interfaces [2018/04/15 06:59]
Line 1: Line 1:
-====== Interfaces ως παραμετρικοί τύποι δεδομένων ====== 
- 
-Εκτός από κλάσεις μπορούμε να ορίσουμε και διεπαφές ως παραμετρικούς τύπους. Το interface Stack που ορίζεται παρακάτω είναι ένα παράδειγμα παραμετρικού interface το οποίο προδιαγράφει τη λειτουργία της στοίβας.  
- 
-<code java Stack.java> 
-interface Stack <T> { 
-  public int size(); 
-  public boolean isEmpty(); 
-  public void push(T obj); 
-  public T pop(); 
-  public T top(); 
-} 
-</code> 
- 
-Το interface δηλώνει ότι η στοίβα λαμβάνει ως όρισμα ένα τύπο δεδομένων που αντιστοιχεί στα αντικείμενα που αποθηκεύονται σε αυτή. 
- 
-Άλλο παράδειγμα παραμετρικού interface είναι το [[https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html|java.lang.Comparable]] το οποίο δηλώνει τη μέθοδο [[http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html#compareTo(T)|int compareTo(T o)]] με την οποία συγκρίνονται δύο αντικείμενα του ιδίου τύπου. Η μέθοδος compareTo χρησιμοποιείται από αλγορίθμους ταξινόμησης, αλλά και από δομές δεδομένων που αποθηκεύουν τα δεδομένα ταξινομημένα. Η παράμετρος Τ δηλώνει τον τύπο δεδομένων των δύο αντικειμένων που θα συγκριθούν. 
- 
-<code java> 
-interface Comparable<T> { 
-  int compareTo(T o) 
-} 
-</code> 
  
java/generic_interfaces.txt · Last modified: 2018/04/15 06:59 (external edit)