java:interface_as_data_type

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
java:interface_as_data_type [2017/03/31 13:26]
gthanos
java:interface_as_data_type [2017/03/31 13:31]
gthanos
Line 6: Line 6:
 class SleepOnTimer { class SleepOnTimer {
   public static void main(String []args) {   public static void main(String []args) {
-    ​//Timer timer = new SimpleTimer(); +    Timer timer = new SimpleTimer();​
-    Timer timer = new StartStopTimer();+
     System.out.println(new Date());     System.out.println(new Date());
     sleepOnTimer(timer,​ 5);     sleepOnTimer(timer,​ 5);
Line 28: Line 27:
  
 <WRAP important 80% center round> <WRAP important 80% center round>
-Παρατηρήστε ότι η μέθοδος //invertArray// παίρνει ως 2ο όρισμα όχι το αντικείμενο μίας κλάσης αλλά ένα αντικείμενο τύπου interface //Stack//! Στην πραγματικότητα αυτό που δηλώνει η συγκεκριμένη μέθοδος είναι ότι ως 2ο όρισμα παίρνει ένα αντικείμενο του οποίου η κλάση υλοποιεί το interface //Stack//. Επίσης,​ δηλώνει ότι από όλες τις διαθέσιμες μεθόδους της κλάσης μπορούν να χρησιμοποιηθούν μόνο οι μέθοδοι που δηλώνονται στο interface.+Παρατηρήστε ότι η μέθοδος //sleepOnTimer// παίρνει ως 2ο όρισμα όχι το αντικείμενο μίας κλάσης αλλά ένα αντικείμενο τύπου interface //Timer//! Στην πραγματικότητα αυτό που δηλώνει η συγκεκριμένη μέθοδος είναι ότι ως 2ο όρισμα παίρνει ένα αντικείμενο του οποίου η κλάση υλοποιεί το interface //Timer//. Επίσης,​ δηλώνει ότι από όλες τις διαθέσιμες μεθόδους της κλάσης μπορούν να χρησιμοποιηθούν μόνο οι μέθοδοι που δηλώνονται στο interface ​Timer.
 </​WRAP>​ </​WRAP>​
  
Line 34: Line 33:
 Στο παραπάνω πρόγραμμα,​ αλλάξτε την γραμμή Στο παραπάνω πρόγραμμα,​ αλλάξτε την γραμμή
 <code java> <code java>
-Stack stack = new ArrayStack();+Timer timer = new SimpleTimer();
 </​code>​ </​code>​
 σε σε
 <code java> <code java>
-Stack stack = new LinkedStack();+Timer timer = new StartStopTimer();
 </​code>​ </​code>​
  
-Παρατηρήστε ​αν σας βγάζει κάποιο μήνυμα ο //​compiler//​ και ​εάν εκτελώντας το πρόγραμμα ​παράγεται το ίδιο τελικό αποτέλεσμα. Τι συμπέρασμα βγάζετε για τη χρήση της ​στοίβας από την μέθοδο //​invertArray()//;+Παρατηρήστε εάν εκτελώντας το πρόγραμμα αυτό τερματίζει στον ίδιο χρόνο (5 sec);
 </​WRAP>​ </​WRAP>​
  
-| Προηγούμενο : [[ :​java:​interface_implementation | Υλοποίηση του interface ​ ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο:​ [[ :java:interface_modification ​Μεταβολή υφιστάμενου interface ​ ​]] ​ |+| Προηγούμενο : [[ :​java:​interface_implementation | Υλοποίηση του interface ​ ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο:​ [[ :java:abstract_classes_vs_interfaces ​Συγκρίνοντας Abstract Κλάσεις και Interfaces ​ ​]] ​ |
java/interface_as_data_type.txt · Last modified: 2017/03/31 14:32 by gthanos