java:generic_bounded_types

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_bounded_types [2015/03/19 15:52]
gthanos [Μη φραγμένοι παραμετρικοί τύποι (Unbounded Wildcards)]
java:generic_bounded_types [2015/03/19 16:42]
gthanos
Line 59: Line 59:
 {{ :​java:​generics_inheritance3.png?​500 |}} {{ :​java:​generics_inheritance3.png?​500 |}}
  
 +Γενικότερα,​ σχέσεις κληρονομικότητας μεταξύ φραγμένων τύπων ισχύουν με κριτήρια κατά πόσο μπορούμε να αντικαταστήσουμε ένα τύπο δεδομένων με έναν άλλο τύπο δεδομένων. Δείτε τα παρακάτω παραδείγματα κληρονομικότητας
 +<code java>
 +      List<?>​
 +         |
 +         v
 + ​List<?​ extends Number>
 +         |
 +         v
 + ​List<?​ extends Integer>
 +         |
 +         v
 +    List<​Integer>​
 +</​code>​
  
-Γενικότερα προκειμένου να δημιουργήσουμε ​σχέσεις κληρονομικότητας μεταξύ παραμετρικών τύπων δεδομένων,​ ο μόνος τρόπος για να το κάνουμε είναι να χρησιμοποιήσουμε φραγμένους ​παραμετρικούς ​τύπους, όπως παρακάτω+Αντίστοιχα ισχύουν 
 +<code java> 
 +      List<?>​ 
 +         | 
 +         v 
 + ​List<?​ super Integer>​ 
 +         | 
 +         v 
 + ​List<?​ super Number>​ 
 +         | 
 +         v 
 +    List<​Number>​ 
 +</​code>​ 
 + 
 +Ανάλογα μπορούν ισχύουν και τα παρακάτω 
 +<code java> 
 +              List<? extends Number> ​                                  ​List<?​ super Integer>​ 
 +                        |                         και ​                          | 
 +       ​------------------------------------ ​                    ​------------------------------------ 
 +       ​| ​                                 |                     ​| ​                                 | 
 +       ​v ​                                 v                     ​v ​                                 v 
 +   ​List<​Number> ​                    ​List<​Integer> ​          ​List<​Number> ​                    ​List<​Integer>​ 
 +</​code>​ 
 + 
 +Στο παρακάτω παράδειγμα δοκιμάστε να αν
 <code java> <code java>
 List<? extends Integer> intList = new ArrayList<>​();​ List<? extends Integer> intList = new ArrayList<>​();​
java/generic_bounded_types.txt · Last modified: 2016/02/26 11:15 (external edit)