Logo

Ep. 17 – OOP Part 1 (Intro)

Touto epizódou sa začína séria o OOP – objektovo orientovanom programovaní. Táto epizóda je iba úvodnou k celej sérii a povieme ti, o čom celá séria bude a skúsime načrtnúť, čo to OOP je a na čo sa používa.

Stiahnuť

00:00 – 01:24 Úvod
01:25 – 02:33 Programovacie paradigmy
02:34 – 04:50 Čo je objekt?
04:51 –  07:58 Procedurálne vs. objektovo orientované
07:59 – 10:47 Piškvorky objektovo vs. procedurálne
10:48 –  11:53 Procedurálne vs. objektovo orientované po druhé
11:54 – 15:09 Výhody dedenia
15:10 – 16:05 Záver

DISCLAIMER: OOP je jeden z programovacích štýlov. Nie je to jediná voľba a nie vždy ani najlepšia voľba programovacieho štýlu. My obaja programujeme hlavne objektovo a je to asi najčastejšie používaný štýl v praxi.

Paradigmy

Dve rozdelenia:

  • Imperatívne – povedz mi ako a čo mám urobiť a ja ti z toho dám výsledok
  • Deklaratívne – povedz mi čo chceš a ja ti to už nejako dodám
  • Procedurálne (imperatívne) – využíva procedúry (funkcie), ktoré majú nejaké parametre a dajú sa volať od hocikadiaľ
  • Funkcionálne (deklaratívne) – tiež využíva funkcie. Tieto funkcie sú však bližšie tým matematickým. Funkcionálne programovanie sa snaží vyhýbať zmenám stavu a meniacim sa dátam
  • Objektovo orientované (imperatívne) – využíva objekty, ktoré majú nejaké vlastnosti (premenné) a nejaké správanie (funkcie/metódy)

Procedurálne vs. Objektovo orientované

  • V procedurálnom si spravým štruktúru a funkcie, ktoré majú túto štruktúru ako prvý parameter
  • V objektovom si spravím classu a v nej mám k nej patriace funkcie
  • Procedurálne nemá dedenie, polymorfizmus, interfaces (rozhrania), …

Piškvorky v OOP

  • Reálny svet: Dvaja hráči, hracia plocha, ťahy, vyhodnocovacia logika (výhra/prehra)
  • Objekty: Player1, Player2, Board, Moves, WinLogic, Game

Dedenie

  • Dedenie je jednou z nemála výhod voči iným štýlom
  • 4 classy: Vozidlo, Auto, Motorka, Autobus
  • Každá ma v sebe metódu VypočítajSpotrebu
  • Nezaujíma nás, s ktorým presne vozidlom pracujeme, dôležité je, že to určite má túto metódu

Záver

V ďalších epizodách sa pokúsime vysvetliť rozdiely medzi objektom, classou a inštanciou. Potom si prejdeme základné pojmy z OOP – dedenie, abstraktná trieda, rozhranie, enkapsulácia, atď. Neskôr prejdeme výhody a nevýhody OOP a ďalšie veci.

Užitočné odkazy

Jakubova hra, ktorá učí základné koncepty OOP
Stará dobrá Wiki
OOP pre 6 ročných

Logo
Street of Code o.z.Hlaváčiková 2984105, Bratislava
Chcem odoberať novinky
Poskytnutím emailu súhlasíš s jeho spracovaním v súlade s GDPR.
Copyright © 2024 Street of Code
Kód tejto stránky si vieš pozrieť na našom GitHub-e