Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Dědičnost (abstraktní třídy, rozhraní, kolekce objektů příbuzných tříd, polymorfismus)

PDF
Stáhnout kompletní materiál zdarma (219.69 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

PAD Programování a databáze 

Téma 14 

Školní rok 2017/2018 

1/2 

Jan Švábík, V4D 

Dědičnost (abstraktní třídy, rozhraní, kolekce 

objektů příbuzných tříd, polymorfismus) 

Dědičnost 

Dědičnost je vztah mezi objekty v OOP. Kde jsou objekty definované třídami, mohou třídy zdědit 
vlastnosti a metody od předem existujících tříd. Ty se obvykle nazývají rodičovské třídy. Výsledné 
třídy jsou pak nazývány jako třídy odvozené, podtřídy nebo potomci třídy. Koncept dědičnosti byl 
poprvé zaveden pro jazyk Simula v roce 1968. 

Abstraktní třídy 

Abstraktní třída je třída, která nemá definované některé metody. Předpokládá se, že  z ní nějaká 
jiná třída bude dědit a tyto metody si doplní podle své potřeby. Obvykle již disponuje nějakými 
instantními  proměnnými.  Abstraktní  třída  také  může  obsahovat  konkrétní  metody.  Všechny 
metody  tedy  nemusejí  nutně  mít  definován  algoritmus  své  činnosti.  Potomek  abstraktní  třídy 
nemůže však dědit od nějaké další třídy (může dědit pouze od jedné). 

Abstraktní by mohla být například třída DopravniProstredek například s proměnnými spotreba, 
objemNadrze

 či SPZ a metodami jet(), natankovat() či vylozitNaklad(). Každá třída, která by 

představovala nějaký dopravní prostředek, by pak dědila z třídy DopravniProstredek vlastnosti 
a metody, které by byly případně upraveny pro potřeby daného potomka (např. Auto by vykládalo 
náklad jinak než třeba Náklaďák). 

Rozhraní 

Rozhraní (interface) je na  rozdíl od  abstraktní třídy  jakýsi  seznam metod, které by měla  nějaká 
třída podporovat, aby plnila nějaký účel. Hlásí-li se třída k tomu, že podporuje nějaký interface, 
musí  definovat  všechny  metody,  které  interface  předepisuje.  Interface  definuje  pouze  hlavičky 
metod, implementovat je musí třída samotná. 

Témata, do kterých materiál patří