This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | Next revision Both sides next revision | ||
|
java:generics_inheritance [2015/03/19 15:35] gthanos |
java:generics_inheritance [2015/03/19 15:40] gthanos |
||
|---|---|---|---|
| Line 35: | Line 35: | ||
| </code> | </code> | ||
| - | Μπορείτε να υλοποιήσετε παραμετρικούς τύπους δεδομένων που κληρονομούν από άλλους παραμετρικούς τύπους δεδομένων. Για παράδειγμα από την standard βιβλιοθήκη της Java μπορείτε να δείτε ότι ο τύπος ''ArrayList<E>'' υλοποιεί το interface ''List<E>''. Το interface ''List<E>'' με την σειρά του επεκτείνει το interface ''Collection<E>''. Έτσι μπορεί να οριστεί η παρακάτω ιεραρχία | + | Τέλος, αν μία παραμετρική κλάση υλοποιεί ένα παραμετρικό interface τότε μπορούμε να πούμε ότι το interface και η κλάση διατηρούν σχέση κληρονομικότητας ΜΟΝΟ αν ο παραμετρικός τύπος που χρησιμοποιούν είναι κοινός. |
| - | <code> | + | <code java> |
| - | Collection<E> Collection<String> | + | List<E> List<String> List<String> |
| - | | | | + | | π.χ. | όχι όμως και X |
| - | v v | + | v v V |
| - | List<E> π.χ. List<String> | + | ArrayList<E> ArrayList<String> ArrayList<Integer> |
| - | | | | + | |
| - | v v | + | |
| - | ArrayList<E> ArrayList<String> | + | |
| </code> | </code> | ||
| - | |||