This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
java:multiple_inheritance [2015/02/13 14:15] gthanos |
java:multiple_inheritance [2016/02/26 11:15] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Κληρονομικότητα πολλαπλών γονικών κλάσεων ====== | ====== Κληρονομικότητα πολλαπλών γονικών κλάσεων ====== | ||
- | Στην προηγούμενη παράγραφο αναφέρθηκε ότι απαγορεύεται η κληρονομικότητα πολλαπλών γονικών κλάσεων. Σε αυτή τη παράγραφο θα εξηγήσουμε γιατί απαγορεύεται αυτού του τύπου η κληρονομικότητα. Ας υποθέσουμε ότι έχουμε την κλάση ''Animal'' και την κλάση ''Mammal'' οι οποίες ορίζονται ως εξής: | + | Στην εισαγωγή της κληρονομικότητας αναφέρθηκε ότι απαγορεύεται η κληρονομικότητα πολλαπλών γονικών κλάσεων. Σε αυτή τη παράγραφο θα εξηγήσουμε γιατί απαγορεύεται αυτού του τύπου η κληρονομικότητα. Ας υποθέσουμε ότι έχουμε την κλάση ''Animal'' και την κλάση ''Mammal'' οι οποίες ορίζονται ως εξής: |
<code java> | <code java> | ||
Line 36: | Line 36: | ||
Όταν ένα αντικείμενο της κλάσης ''Dog'' καλεί τη μέθοδο ''setName'' δεν είναι σαφές αν θα καλέσει την μέθοδο αυτή της κλάσης ''Animal'' ή της κλάσης ''Mammal''. Αυτού του είδους η ασάφεια αποφεύγεται στην Java περιορίζοντας τον μέγιστο αριθμό των γονικών κλάσεων σε μία. | Όταν ένα αντικείμενο της κλάσης ''Dog'' καλεί τη μέθοδο ''setName'' δεν είναι σαφές αν θα καλέσει την μέθοδο αυτή της κλάσης ''Animal'' ή της κλάσης ''Mammal''. Αυτού του είδους η ασάφεια αποφεύγεται στην Java περιορίζοντας τον μέγιστο αριθμό των γονικών κλάσεων σε μία. | ||
- | |Προηγούμενο: [[ :java:inheritance | Κληρονομικότητα ]] | Επόμενο: [[ :java:super_operator | Ο τελεστής super]]| | + | |Προηγούμενο: [[ :java:multiple_inheritance | Final Κλάσεις και Μέθοδοι ]] | Επόμενο: [[ :java:super_operator | Ο τελεστής super]]| |