Gyakorlati alapok III.
Öröklődés (inheritance)
Polimorfizmus
A polimorfizmus többalakúságot jelent. Aki nagyon alaposan tanulmányozta át az
öröklődéssel kapcsolatos eddigi fejezeteket...
-
Az öröklődés lehetőségei a Javán belül, valamint tartalmi elemei
-
Örököltessünk síkidomból kört (konstruktor + getter-setter)!
-
Örököltetés: síkidom - kör - négyzet - téglalap a super() segítségével
...az már szerintem kezdi megérteni a polimorfizmus alapjában véve érthetetlen fogalmát:
az öröklődés során a metódusok egy részét megváltoztatjuk (másként a mechanizmusnak nem igazán volna értelme), ám a metódusok elnevezései (referenciái) ugyanazok maradnak.
Ez egyértelmű és logikus szándék, hiszen például terület esetében minden testnek más és más lesz a területe (pontosabban annak kiszámítási módja), ám abban bizonyosak lehetünk, hogy mindegyikük fog rendelkezni (felülírt) területszámító metódussal.
A polimorfizmus során tehát azonos üzenetre a különböző objektumok mindig másképpen fognak reagálni.
Ellenőrizzük le ezt az állítást az előző fejezetekben megalkotott osztályhierarchia...
Object
↓
Sikidom
↓
Kor
↓
Negyzet
↓
Teglalap
↓
Haromszog
...példányosításával és futtatásával! Figyeljük meg a keletkezett objektumok keruletSzamitas() és teruletSzamitas() metódusainak működését!