Gyakorlati alapok III.
Öröklődés (inheritance)
A metódus felülírásának szabályai (overriding)
Az előző fejezetben
sok osztály esetében sikerült végrehajtanunk az örököltetés-származtatás
komplex folyamatait. Emlékezzünk vissza az alapelvekre:
mindennek akkor van igazán értelme, ha a származtatott osztályok új vagy a régi metódusokat felülíró (overriding) metódusokat tartalmaznak, azaz alapelveikben nem, de adataikban, metódusaikban kissé különböznek az ősosztálytól.
A felülírás művelete csakis akkor definiálható, ha a metódusok szignatúrái egyeznek (egyébként túlterhelt /overloading/ metódusok) és visszatérési típusuk azonos.
Nem lehetséges felülírás, ha a metódus private, final, static:
-
private - az utódosztályban nem is lehet látni (bár ugyanolyan néven lehetséges új metódust definiálni, ez azonban függvényhívási zavarok forrása lehet),
-
final - adatok, metódusok nem módosíthatók,
-
static - ez a módosítás osztálytagok sajátja és csakis példánytagokat tudunk felülírni.