Vitaj v Objektovo-Orientovanom-Programovaní (OOP). Triedy sú základným stavebným kameňom OOP. Predtým, než sa pozrieme na syntax v Kotline, poďme si vysvetliť, prečo OOP vôbec existuje a aké problémy rieši.
V procedurálnom programovaní píšeme funkcie a premenné na úrovni celého programu. Keď program narastie, začneme strácať prehľad - nevieme, ktorá funkcia pracuje s akými dátami. OOP nám umožňuje zabaliť dáta a funkcie, ktoré s nimi pracujú, do jedného celku - triedy.
meno, vek).zdravSa(), pocitajVek()).Predstav si triedu Auto:
| Atribúty (dáta) | Metódy (správanie) |
|---|---|
| značka | naštartuj() |
| farba | zastav() |
| rýchlosť | zrýchli() |
| palivo | uberiPalivo() |
Trieda Auto je šablóna - popisuje, čo auto vie a aké má vlastnosti. Z tejto triedy môžeme vytvoriť viacero objektov:
Auto1: značka="Škoda", farba="červená", rýchlosť=0
Auto2: značka="BMW", farba="čierna", rýchlosť=0
Každý objekt má rovnaké atribúty a metódy, ale hodnoty atribútov sú rôzne.
Jeden z hlavných princípov OOP je encapsulácia - skryjeme interné údaje a poskytneme len verejné rozhranie. Auto má motor, ktorý nevidíme, ale vieme ho naštartovať kľúčom. Rovnako v programe - atribúty budú private a k nim sa dostaneme len cez metódy.
Triedy môžu dediť z iných tried. Trieda OsobneAuto môže dediť z Auto a pridať vlastné atribúty ako pocetDveri alebo metódy ako otvorKufor(). Dedičnosť nám umožňuje znova použiť kód a vytvárať hierarchie tried.
Funkcie sú skvelé, ale keď má program stovky premenných a funkcií, ťažko sa udržiava poriadok. Triedy nám dávajú štruktúru - vieme, že dáta patria k sebe a vieme, aké operácie s nymi môžeme vykonať.
V ďalšej lekcii si ukážeme, ako sa triedy zapisujú v jazyku Kotlin.
Navrhni triedu Kniha: vypíš jej aspoň tri atribúty a dve metódy, ktoré by mali patriť do tejto triedy.
Pre triedu BankovyUcet rozhodni, ktoré údaje majú byť skryté a ktoré operácie majú tvoriť verejné rozhranie.
Navrhni rodičovskú triedu Vozidlo a dve podtriedy; pri každej uveď spoločné a vlastné atribúty.