Der Makler ist jetzt nicht nur auf Einfamilienhäuser spezialisiert, sondern hat auch
Bürogebäude im Angebot.
Beide Hausarten können von einer gemeinsamen abstrakten
Klasse 'Immobilie' abgeleitet
werden, die die Attribute Besitzer, Adresse, Baujahr, Verkaufspreis und die Methode
getVerkaufspreis() hat.
Die konkrete Klassen "Einfamilienhaus"
und "Geschäftshaus" können davon abgeleitet
werden, wobei sie alle Eigenschaften der abstrakten Klasse erben, aber um eigene Attribute
und Methoden erweitert werden können. So kann das Einfamilienhaus beispielsweise noch die
Attribute "Anzahl Badezimmer" haben oder die Bürogebäude die Methode 'getAnzahlBueros()'.
Die Bildung einer Vererbung zwischen Klassen nennt man Ableitung. Eine
Klasse kann auch
aus einer oder mehreren anderen Klassen abgeleitet werden. Im letzteren Fall spricht man von
multipler Vererbung.