Java: Abstraktní třídy, dědičnost a rozhraní
Z MiS
Obsah |
Dědičnost
- Klíčové slovo
extends
. - Třída může mít pouze jednu rodičovskou třídu!
- Potomek „dědí“ všechny vlastnosti předka.
- Potomek může kdykoli nahradit předka. Takže pokud máme proměnnou datového typu
Predek
, můžeme do ní uložit instanci třídyPotomek
. Opačně to však nejde!
- Příklad
public class Kamion { int nosnost; ... public int getNosnost() { return this.nosnost; } ... } public class KamionSPrivesem extends Kamion { Prives prives; ... public int getNosnost() { return this.getHodnota()+this.prives.getHodnota(); } ... }
Rozhraní
- Klíčové slovo
implements
. - Může mít pouze hlavičky metod a veřejné konstantní atributy.
Abstraktní třída
- Klíčové slovo
abstract
. - Těla některých metod nejsou uvedena.
Odkaz na předka — super
- Jsou situace, kdy potřebujeme změnit chování některé metody předka v potomkovi. Mluvíme o překrývání metod.
- Pokud potřebujeme v potomkovi přesto použít metodu předka, použijeme k tomu klíčové slovo
super
. - Klíčovým slovem
super
lze také zavolat konstruktor předka.