java:multiple_inheritance

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Κληρονομικότητα πολλαπλών γονικών κλάσεων ====== Στην εισαγωγή της κληρονομικότητας αναφέρθηκε ότι απαγορεύεται η κληρονομικότητα πολλαπλών γονικών κλάσεων. Σε αυτή τη παράγραφο θα εξηγήσουμε γιατί απαγορεύεται αυτού του τύπου η κληρονομικότητα. Ας υποθέσουμε ότι έχουμε την κλάση ''Animal'' και την κλάση ''Mammal'' οι οποίες ορίζονται ως εξής: <code java> public class Animal { public String name; public class setName(name) { this.name = name; println("Animal's name is "+name); } } </code> <code java> public class Mammal { public String name; public class setName(name) { this.name = name; println("Mammal's name is "+name); } } </code> Ας υποθέσουμε τώρα ότι έχουμε και την κλάση ''Dog'' που κληρονομεί τις ''Animal'' και ''Mammal''. <code java> public class Dog extends Animal, Mammal { } </code> Όταν ένα αντικείμενο της κλάσης ''Dog'' καλεί τη μέθοδο ''setName'' δεν είναι σαφές αν θα καλέσει την μέθοδο αυτή της κλάσης ''Animal'' ή της κλάσης ''Mammal''. Αυτού του είδους η ασάφεια αποφεύγεται στην Java περιορίζοντας τον μέγιστο αριθμό των γονικών κλάσεων σε μία. |Προηγούμενο: [[ :java:inheritance | Κληρονομικότητα ]] | Επόμενο: [[ :java:super_operator | Ο τελεστής super]]|

java/multiple_inheritance.1455526209.txt.gz · Last modified: 2016/02/26 11:15 (external edit)