Vtip
Dědičnost. Nejlepší objektově-orientovaný způsob, jak se pohádat a naštvat ty před námi i po nás.
Přínosy dědičnosti
-
Je fajn, ušetříme psaní kódu i jeho objem (kód je tam jednou), omezí se redundance.
-
Někdy dokonce i předejdeme chybám tím, že chybu opravíme na jednom místě a OK, protože efekt se hned bez dalšího promítne do všech podtříd = je poděděn.
-
Můžeme využít polymorfismus, kdy jsme schopni jednotně obsloužit více typů objektů
-
například
Employee
,Manager
neboStudent
jsou všechno osobyPerson
a mají tedy jménogetName()
Hlavní omezení
-
Dědičnost je příklad silné (těsné, pevné) závislosti.
-
Změna v rodičovské třídě (nadtřídě) má silný vliv na funkci, případně i kompilovatelnosti podtříd.
-
Metodu, která se dá překrýt v podtřídě, nesmíme volat z konstruktoru!
-
Obecně: z konstruktoru pokud možno nevolat nic.