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