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> | ||
- | |||