Dziedziczenie wieloaspektowe
Dziedziczenie ze względu na rodzaj atrybutów.
Pojazd
{overlapping}
Pojazd wiatrowy
Pojazd
silnikowy Pojazd lądowy
Pojazd wodny
napęd teren teren
{overlapping}
Taka struktura da się zrealizować bez jakichkolwiek przekształceń z punktu widzenia składni języka.
Wada: brak powiązania informacji
Dziedziczenie wieloaspektowe
Schemat zastępczy:
POJAZD
WŁ.
NAPĘDU
WŁ.
TERENU 1..*
1..*
SILNIK ŻAGIEL
{ abstract } { abstract }
LĄD WODA
Dziedziczenie wieloaspektowe
abstract class WlNaped { private int sprawnosc;
int getSpraw(){
return sprawnosc;
} }
class Pojazd { WlNaped wn;
WlTeren wt;
public Pojazd(WlNaped wn, WlTeren wt) {
this.wn = wn;
this.wt = wt;
}
class Silnik
extends WlNaped { int moc;
public Silnik() { moc = 100;
}
int getPower() { return moc;
} }
class Zagiel
extends WlNaped {
private int rozpietosc;
int getRozp(){
return rozpietosc;
} }