Od špagetového kódu k čistému návrhu: Výhody OOP v Jave
Programovanie môže byť buď nočná mora plná nekonečných ifov a chaotických premenných, alebo elegantná stavba tried, objektov a metód. Tento rozdiel oddeľuje procedurálny kód od objektovo orientovaného programovania (OOP). Pozrime sa na to, prečo je OOP v Jave taký dôležitý.
1. Špagetový vs. procedurálny vs. objektový kód – v čom je rozdiel?
Špagetový kód je neformálne označenie pre programy, kde:
- je veľa globálnych premenných,
- kód sa opakuje,
- je ťažké sa v ňom vyznať alebo ho rozšíriť,
- zmena na jednom mieste často „rozbije“ iné časti aplikácie.
Procedurálne programovanie zavádza funkcie, vďaka čomu sa dá opakovanie kódu minimalizovať. Každá funkcia má svoj účel, ale údaje sú často oddelené od správania.
Objektovo orientované programovanie (OOP) organizuje kód ako súbor objektov, ktoré obsahujú dáta aj logiku správania. Kód sa tak stáva modulárnejším, čitateľnejším a udržiavateľnejším.
2. Čo prináša OOP: zapuzdrenie, dedičnosť, polymorfizmus
- Zapuzdrenie (Encapsulation): údaje a metódy sú uzavreté v triedach. Ostatné časti programu k nim pristupujú len cez verejné metódy (napr.
get()
, set()
), čím sa chráni vnútorný stav objektu.
- Dedičnosť (Inheritance): nové triedy môžu dediť vlastnosti a správanie z existujúcich tried. Takto možno vytvoriť hierarchiu a znížiť opakovanie kódu.
- Polymorfizmus: rôzne objekty môžu implementovať rovnaké metódy rôznym spôsobom. Vďaka tomu možno pracovať s rôznymi typmi objektov jednotným spôsobom.
3. Ako OOP pomáha znižovať chyby a zlepšovať udržiavateľnosť
OOP prispieva k tvorbe kvalitného softvéru najmä tým, že:
- Znižuje zložitosť – kód je rozdelený do menších častí, ktoré sa dajú ľahšie pochopiť a testovať.
- Podporuje opätovné použitie – triedy môžu byť využité viackrát v rôznych projektoch.
- Uľahčuje údržbu – chyby sa dajú rýchlejšie identifikovať a opraviť.
- Podporuje tímovú prácu – viacerí vývojári môžu pracovať na rôznych triedach súčasne.
4. Základné príklady tried, objektov a metód v Jave
public class Auto {
String znacka;
int rok;
public void startuj() {
System.out.println("Auto štartuje.");
}
}
public class Main {
public static void main(String[] args) {
Auto mojeAuto = new Auto();
mojeAuto.znacka = "Škoda";
mojeAuto.rok = 2020;
mojeAuto.startuj();
}
}
Trieda Auto
reprezentuje šablónu, z ktorej môžeme vytvárať objekty. Každý objekt má svoje vlastné údaje (atribúty) a metódy. OOP tak umožňuje simulovať reálne objekty a ich správanie.
5. Kedy sa OOP oplatí a kedy nie?
OOP sa oplatí najmä:
- pri budovaní veľkých alebo komplexných systémov,
- ak sa projekt bude časom vyvíjať,
- keď na projekte spolupracuje viac vývojárov,
- ak je potrebné zabezpečiť kvalitnú údržbu a rozšíriteľnosť.
Procedurálny prístup má výhodu v prípade, že:
- ide o krátky skript alebo jednorazový nástroj,
- je potrebné dosiahnuť rýchly výsledok bez zložitej štruktúry.
Chcete sa naučiť objektové programovanie v Jave od základov?
Vyskúšajte kurz JAVASE1 – Programovanie v JAVA SE: Syntax jazyka JAVA, kde sa naučíte nielen syntax jazyka Java, ale aj princípy objektového návrhu, prácu s triedami a metódami a najčastejšie chyby začiatočníkov.
Ako začať programovať?
Úvod do programovania pre každého bez prechádzajúcich znalostí.
Stiahnite si náš ebook teraz výnimočne zdarma!!!
Viac informacií preberáme na kurze:
Kurz JAVASE1 - Programovanie v JAVA SE: Syntax Jazyka JAVA
Marián Knězek
Súvisiace články: