Objektovo orientované programovanie
Odborná literatúra používa pojem „Objektovo orientované programovanie“ už od roku 1967. Ako prví začali používať slovo objekt v súvislosti s programovaním autori prvého objektovo orientovaného jazyka Simula 67 Ole -Johan Dahl a Kristen Nygaard.
Je zrejmé, že programovaním budeme nazývať tvorbu programov. Pojem program je v bežnom živote spojený s kinom, divadlom, televíziou, podujatiami, pracovnými stretnutiami, našim voľným časom a podobne. V tejto súvislosti sa nám ponúka vysvetlenie pojmu program ako vymenovanie udalostí, pri ktorých môžeme uviesť kto kedy akú činnosť vykoná.
Prípravu jedla, výmenu pneumatiky, zloženie nábytku a ďalšie úkony dokážeme tak presne opísať, aby to vedel spraviť aj človek, ktorý to ešte nikdy predtým nerobil. Takej postupnosti pokynov, ktorá vedie k splneniu určitej úlohy hovoríme algoritmus. Ak chceme pripraviť algoritmus pre stroj, musíme byť presní a precízni, lebo stroj nič „nedomyslí“, ani „neprecíti“.
Komunikovať so strojom sa nám podarí len v takom jazyku, ktorému stroj rozumie. V prípade zadávania úloh pre počítače používame programovací jazyk. Počítačový program (v ďalšom texte budeme používať slovo program už len zmysle počítačový program) predstavuje úplný zoznam pokynov na riešenie úlohy pomocou počítača. Formálny zápis takého zoznamu nazývane kódom.
Objektovo orientovaný programovací jazyk urýchľuje a sprehľadňuje tvorbu kódu tým, že do jednotlivých objektov sú už vložené niektoré časti kódu. Sú to vlastne šablóny na vytváranie nových útvarov. V odbornej terminológii sa na označenie šablóny používa slovenské slovo trieda, alebo anglické pomenovanie class, namiesto slova útvar sa častejšie používa pojem inštancia.
Výhody OOP
- Dedičnosť – odvodená trieda získa všetky vlastnosti pôvodnej triedy
- Abstrakcia – vytváranie všeobecných pojmov, pričom sa odhliada od nepodstatných znakov
- Polymorfiznus – jedna metóda sa dá použiť pre viaceré triedy, ktoré sú potomkami abstraktnej triedy
- Zapuzdrenosť – ochrana pred takým použitím tried inými programátormi, ktoré by mohlo ohroziť funkčnosť celého programu
Objektovo orientované jazyky |
Užitočné odkazy |
ObjectiveC | |
1986 C++ | Nebo programátorov |
1986 Eiffel | Začíname s Eiffel-om (An Invitation to Eiffel) |
1991 Python | Domovská stránka |
1991 Self | Domovská stránka (Sun) |
1995 Java | Zdroj Java(tm) technológie |
1995 JavaScript | |
1995 PHP | Domovská stránka(SK) |
1995 Ada 95 | |
2000 C# | C# Corner |
Na tvorbu počítačových hier je vytvorených niekoľko programovacích prostredí. Voľne šíriteľný program Greenfoot vychádzajúci z programovacieho jazyka Java je dostupný na webovej stránke
https://www.greenfoot.org/download
Po úspešnom nainštalovaní sa nám predstaví pomocou ikony
Môžeme si vyskúšať niektorú z hotových hier
V tejto hre sú objektmi svet (World) a Actor. Vytvorenými potomkami sú hracie prostredia Arena a následne testovacia arena, potomkami Actora sú triedy Bobma, Hrac, Prekazka a následne Mur so Stenou. Inštanciami sú konkrétne útvary graficky znázornené v hracom poli (panáčiky predstavujú dvoch hráčov, tmavé štvorčeky sú grafickým znázornením jedenástich inštancií triedy stena).
Vzťahy medzi inštanciami a objektmi sú zavedené pomocou metód.
Poďme si vytvoriť vlastnú hru:
- Vymyslíme si názov a hlavný zámer hry.
- Otvoríme si nový pracovný priestor a nastavíme si jeho rozmery.
- Vytvoríme potomkov triedy Actor.
- Vytvoríme inštancie jednotlivých tried.
- Vhodne povkladáme vybrané metódy.
- Vyskúšame funkčnosť.
Postupy, riešenie problémov, algoritmické myslenie