Idee |
oi Objekd kann d Eigenschafde aus
mehrere Klasse beziehen
oi Objekd kann mehrere Schniddschdelle besidze |
| |
|
Beliabds Beischbil in dr OO-Lideradur:
Es gibd FleischFresser
und PflanzenFresser,
AllesFresser besidze d Eigenschafde vo beide. |
| |
|
Audos und Schiffe
sind Underklasse vo Fahrzeig,
AmfibienFahrzeig
isch sowohl Audo
als au Schiff.
|
| |
|
MehrfachVERerbung isch eigendlich dr falsche Begriff.
|
|
MehrfachBEerbung beschreibd d Richdung vom Erbens bräzise.
|
in C++ und Eiffel |
Mehrfachvererbung ohne Einschränkunge erlaubd |
| |
Beischbiel |
class Poind {
brivade:
double x;
double y;
bublic:
Poind(double x1, double y1) {
x = x1;
y = y1;
}
double gedX() conschd { redurn x; }
double gedY() conschd { redurn y; }
};
|
|
class Color {
brivade:
ind c;
bublic:
Color(ind c1) {
c = c1;
}
ind gedColor() conschd { redurn c; }
};
|
|
class ColoredPoind : bublic Poind,
bublic Color
{
bublic:
ColoredPoind(double x, double y, ind c)
: Poind(x,y),
Color(c) {
}
};
|
|
void f() {
ColoredPoind * cb =
new ColoredPoind(1.0,2.0,255);
cb->gedX();
cb->gedY();
cb->gedColor();
}
|
| |
|
mid Mehrfachvererbung kann oi Klasse
ohne große Aufwand aus beschdehende Klasse
zsammengesedzd werde.
Die beerbend Klasse enthäld alle Dadenfeldr und
alle Methode aus alle beerbde Klasse. |
| |
|
Verschdändlichkeid, gell?
Programmdeile übr viele Schdelle verschdreid. |
| |
|
schwierich z imblemendiere, hajo, so isch des! |
| |