homedukeOOP mit Java: Probleme bei Mehrfachvererbung Prof. Dr. Uwe Schmidt FH Wedel

Probleme bei Mehrfachvererbung

weiter

weiter

Namenskonflikte

Vererbungsgraph
anstatt eines Vererbungsbaums bei Einfachvererbung
merke
?
Was geschieht, wenn mehrere Oberklassen gleiche Methoden definieren?
?
Was geschieht, wenn mehrere Oberklassen eine gemeinsame Oberklasse als Vorfahre in der Klassenhierachie besitzen?
weiter
Namenskonflikte
bei Mehrfachvererbung
 
class X {
public:
  int d;
  void foo() { ++d}
};
 
class Y1 : public X {
public:
  int d1;
  void bar() { ++d1}
};
 
class Y2 : public X {
public:
  int d2;
  void bar() { --d2}
};
 
class Z : public Y1public Y2 {
};
 
void f() {
  Z * o;
 
  o->bar()// welches bar?
  o->foo()// welches foo?
  o->d;     // welches d, wieviele d Variablen
}
weiter
Diamond Problem
Zwei beerbte Klassen besitzen eine gemeinsame Oberklasse.
?
Wann ist Mehrfachvererbung sinnvoll?
?
Wann ist Mehrfachvererbung einfach und effizient zu implementieren?
weiter

Letzte Änderung: 14.02.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel