java:class_methods

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
java:class_methods [2018/02/16 16:02]
gthanos
java:class_methods [2019/02/22 08:23]
gthanos [Υπερφόρτωση (overloading) των μεθόδων μίας κλάσης]
Line 64: Line 64:
 </​WRAP>​ </​WRAP>​
  
-Ας υποθέσουμε ότι έχουμε την κλάση **DrawChars** η οποία αποτελεί μέρος ενός υποθετικού προγράμματος ​εκτύπωσης ​χαρακτήρων στην οθόνη του υπολογιστή. Διαθέτουμε την μέθοδο //draw// η οποία διαθέτει διαφορετικές εκδόσεις ανάλογα με τι εκτυπώνεται κάθε φορά. Το ποια έκδοση χρησιμοποιείται σε κάθε κλήση της μεθόδου αποφασίζεται από τον compiler με βάση το είδος και τον αριθμό των ορισμάτων.+Ας υποθέσουμε ότι έχουμε την κλάση **SumNumbers** η οποία αποτελεί μέρος ενός υποθετικού προγράμματος ​άθροισης αριθμών. Διαθέτουμε την μέθοδο //sum// η οποία διαθέτει διαφορετικές εκδόσεις αθροισμάτων. Το ποια έκδοση χρησιμοποιείται σε κάθε κλήση της μεθόδου αποφασίζεται από τον compiler με βάση το είδος και τον αριθμό των ορισμάτων.
  
 <code java> <code java>
-public class DrawChars ​+public class SumNumbers ​
-    ... + 
-    public ​void draw(String s) { +    public ​double sum(double []nums) { 
-        ​...+        ​double sum = 0; 
 +        for(double num : nums) sum += num; 
 +        return sum;
     }     }
-    public ​void draw(int i) { +    public ​double sum(double a, double b) { 
-        ​...+        ​return a+b;
     }     }
-    public ​void draw(double ​f) { +    public ​double sum(double ​a, double b, double c) { 
-        ​...+        ​return a+b+c;
     }     }
-    public ​void draw(int i, double ​f) { +    ​// sum double a, count times 
-        ​...+    ​public ​double sum(double ​a, int count) { 
 +        ​double sum = 0; 
 +        for(int i=0; i<count; i++) 
 +            sum += a; 
 +        return sum;
     }     }
 } }
java/class_methods.txt · Last modified: 2019/02/22 08:23 by gthanos