java:multiple_inheritance

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

java:multiple_inheritance [2016/02/15 08:50]
gthanos
java:multiple_inheritance [2016/02/26 11:15]
Line 1: Line 1:
-====== Κληρονομικότητα πολλαπλών γονικών κλάσεων ====== 
- 
-Στην εισαγωγή της κληρονομικότητας αναφέρθηκε ότι απαγορεύεται η κληρονομικότητα πολλαπλών γονικών κλάσεων. Σε αυτή τη παράγραφο θα εξηγήσουμε γιατί απαγορεύεται αυτού του τύπου η κληρονομικότητα. Ας υποθέσουμε ότι έχουμε την κλάση ''​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.txt · Last modified: 2016/02/26 11:15 (external edit)