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 περιορίζοντας τον μέγιστο αριθμό των γονικών κλάσεων σε μία.
Προηγούμενο: Κληρονομικότητα | Επόμενο: Ο τελεστής super |
java/multiple_inheritance.1423836747.txt.gz · Last modified: 2015/02/13 14:12 (external edit)