java:multiple_inheritance
Κληρονομικότητα πολλαπλών γονικών κλάσεων
Στην εισαγωγή της κληρονομικότητας αναφέρθηκε ότι απαγορεύεται η κληρονομικότητα πολλαπλών γονικών κλάσεων. Σε αυτή τη παράγραφο θα εξηγήσουμε γιατί απαγορεύεται αυτού του τύπου η κληρονομικότητα. Ας υποθέσουμε ότι έχουμε την κλάση 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.txt · Last modified: 2020/03/27 09:26 by gthanos
