User Tools

Site Tools


java:generic_methods

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
Next revision Both sides next revision
java:generic_methods [2015/03/19 14:20]
gthanos
java:generic_methods [2020/03/09 10:40]
gthanos
Line 1: Line 1:
-====== Παραμετρικές Μέθοδοι (Generic Methods) ======+====== Παραμετρικοί τύποι δεδομένων σε μεθόδους (Generic Methods) ====== 
 + 
 +//Generic Methods// ονομάζονται οι μέθοδοι οι οποίες εισάγουν τους δικούς τους παραμετρικούς τύπους δεδομένων, χωρίς η κλάση στην οποία ανήκουν να εισάγει αντίστοιχους παραμετρικούς τύπους δεδομένων, όπως παρακάτω:
  
-Generic Methods ονομάζονται οι μέθοδοι οι οποίες εισάγουν τους δικούς τους παραμετρικούς τύπους δεδομένων, χωρίς η κλάση στην οποία ανήκουν να εισάγει αντίστοιχους παραμετρικούς τύπους δεδομένων, όπως παρακάτω: 
 <code java Util.java> <code java Util.java>
 public class Util { public class Util {
-  public static <K, V> boolean compare(Pair<K, V> p1, Pair<K, V> p2) {+  public static <K, V> boolean isEqual(Pair<K, V> p1, Pair<K, V> p2) {
     return p1.getKey().equals(p2.getKey()) &&     return p1.getKey().equals(p2.getKey()) &&
       p1.getValue().equals(p2.getValue());       p1.getValue().equals(p2.getValue());
Line 15: Line 16:
 public class OrderedPairUsage { public class OrderedPairUsage {
   public static void main(String args[]) {   public static void main(String args[]) {
-    Pair<Integer, String> p1 =  +    Pair<Integer, String> p1 = new OrderedPair<>(1, "Black"); 
-      new OrderedPair<>(1, "Black"); +    Pair<Integer, String> p2 = new OrderedPair<>(1, "Red"); 
-    Pair<Integer, String> p2 =  +    boolean same = Util.<Integer, String>isEqual(p1, p2); 
-      new OrderedPair<>(1, "Red"); +    //OR boolean same = Util.isEqual(p1, p2);
-    boolean same = Util.<Integer, String>compare(p1, p2); +
-    //OR boolean same = Util.compare(p1, p2);+
     if( same ) {     if( same ) {
       System.out.println("p1 is equal to p2");       System.out.println("p1 is equal to p2");
Line 33: Line 32:
 Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. Ο compiler έχει την δυνατότητα να αντιλαμβάνεται τους τύπους των παραμέτρων της μεθόδου από τα ορίσματα της μεθόδου. Μπορείτε να αντικαταστήσετε την τελευταία γραμμή με την γραμμή σε σχόλια. Ο compiler έχει την δυνατότητα να αντιλαμβάνεται τους τύπους των παραμέτρων της μεθόδου από τα ορίσματα της μεθόδου.
  
 +<WRAP todo 80% center round>
 Δοκιμάστε να μεταγλωττίσετε τις παρακάτω δύο παραλλαγές του κώδικα και δείτε τα μηνύματα που θα σας βγάλει ο compiler. Δοκιμάστε να μεταγλωττίσετε τις παρακάτω δύο παραλλαγές του κώδικα και δείτε τα μηνύματα που θα σας βγάλει ο compiler.
 +</WRAP>
 +
 <code java OrderedPairUsage.java> <code java OrderedPairUsage.java>
 public class OrderedPairUsage { public class OrderedPairUsage {
Line 41: Line 43:
     Pair<Integer, String> p2 =      Pair<Integer, String> p2 = 
       new OrderedPair<>(1, "Red");       new OrderedPair<>(1, "Red");
-    boolean same = Util.<Integer, Integer>compare(p1, p2);+    boolean same = Util.<Integer, Integer>isEqual(p1, p2);
     if( same ) {     if( same ) {
       System.out.println("p1 is equal to p2");       System.out.println("p1 is equal to p2");
Line 59: Line 61:
     Pair<Integer, Integer> p2 =      Pair<Integer, Integer> p2 = 
       new OrderedPair<>(1, 3);       new OrderedPair<>(1, 3);
-    boolean same = Util.compare(p1, p2);+    boolean same = Util.isEqual(p1, p2);
     if( same ) {     if( same ) {
       System.out.println("p1 is equal to p2");       System.out.println("p1 is equal to p2");
Line 69: Line 71:
 } }
 </code> </code>
 +
 +|Προηγούμενο: [[:java:generics_raw | Απλοί παραμετρικοί τύποι δεδομένων (Raw Generic Types) ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:generics_inheritance | Κληρονομικότητα Παραμετρικών Τύπων ]] |
 +
  
java/generic_methods.txt · Last modified: 2020/03/10 10:19 by gthanos