java:multiple_inheritance
This is an old revision of the document!
Κληρονομικότητα πολλαπλών γονικών κλάσεων
Στην εισαγωγή της κληρονομικότητας αναφέρθηκε ότι απαγορεύεται η κληρονομικότητα πολλαπλών γονικών κλάσεων. Σε αυτή τη παράγραφο θα εξηγήσουμε γιατί απαγορεύεται αυτού του τύπου η κληρονομικότητα. Ας υποθέσουμε ότι έχουμε την κλάση Animal
και την κλάση Mammal
οι οποίες ορίζονται ως εξής:
public class Animal { public String name; public class setName(name) { this.name = name; println("Animal's name is "+name); } }
public class Mammal { public String name; public class setName(name) { this.name = name; println("Mammal's name is "+name); } }
Ας υποθέσουμε τώρα ότι έχουμε και την κλάση Dog
που κληρονομεί τις Animal
και Mammal
.
public class Dog extends Animal, Mammal { }
Όταν ένα αντικείμενο της κλάσης Dog
καλεί τη μέθοδο setName
δεν είναι σαφές αν θα καλέσει την μέθοδο αυτή της κλάσης Animal
ή της κλάσης Mammal
. Αυτού του είδους η ασάφεια αποφεύγεται στην Java περιορίζοντας τον μέγιστο αριθμό των γονικών κλάσεων σε μία.
Προηγούμενο: Final Κλάσεις και Μέθοδοι | Περιεχόμενα | Επόμενο: Ο τελεστής super |
java/multiple_inheritance.1487252551.txt.gz · Last modified: 2017/02/16 13:42 (external edit)