Ep. 19 – OOP Part 3 (Abstrakcia)
Abstrakcia. Jeden zo základných pojmov OOP (alebo aj programovania všeobecne). Pobavíme sa o tom, čo to abstrakcia je vo všeobecnosti, ale samozrejme aj o tom, čo je abstrakcia v programovaní. Spomenieme zároveň aj nejaké výhody OOP, refaktorovanie a duplikáciu.
00:00 – 00:34 Úvod
00:35 – 04:39 Čo je to abstrakcia
04:40 – 06:20 Abstrakcia pri programovani
06:21 – 08:48 Pre koho vlastne abstrahujeme?
08:49 – 10:27 Ďalšie príklady abstrakcie v programovaní
10:28 – 12:25 Kedy používať abstrakciu
12:25 – 13:50 Abstrakcia zvyšuje kvalitu kódu
13:51 – 15:30 Divide and Conquer (rozdeluj a panuj)
15:31 – 16:30 Výhody OOP
16:31 – 18:55 Abstraktná trieda vs. abstrakcia
18:56 – 19:53 Abstrakcia a školské zadania
19:54 – 22:07 Nevýhody abstrakcie
Abstrakcia všeobecne
- neriešime ako niečo funguje, proste to používame
- ignorovanie detailov a sústredenie sa na to, čo nás práve zaujíma
- keď zapínam práčku, tak neriešim čo všetko sa vnútri odohráva, hodím prádlo a perem
- matematická rovnica/funkcia môže byť tiež formou abstrakcie
Abstrakcia v programovaní
- UI (user interface) je forma abstrakcie – klíkam na tlačidlá a neriešim, čo všetko sa mi deje na pozadí
- pri programovaní figurujeme aj ako vlastníci kódu a aj ako jeho používatelia kódu
- pre koho abstrahujeme? – Aj pre nás, aj pre našich kolegov. Pre používateľov kódu
- classy, funkcie, moduly, webapi, servisy, … to sú všetko abstrakcie. Vďaka ním vieme v kóde schovávať implementačné detaily, ktoré nás momentálne nezaujímajú
- abstrakcia nie je dôležitá iba pri OOP, ale v OOP
Kedy použiť abstrakciu
- keď si všimnem, že mám škaredý kód, alebo že sa mi niečo da z funkcie vytiahnuť
- veľmi podobné ako refaktorovanie
- využívame ju kvôli zjednodušeniu, zkrajšeniu a zlepšenia udržateľnosti kódu
- zníženie duplikácie
Abstraktná trieda a abstrakcia sú rozdielné pojmy
- abstraktná trieda je prvok v OOP, ktorý nám umožňuje lepšie štrukturovanie kódu
- abstrakcia je to čo riešime v epizóde – vyňatie detailov, ktoré nás nezaujímajú
- abstraktné – nechytateľné, nekonkrétne
Pri malých školských projektoch sa človek s abstrakciou príliš nezoznámi
Nevýhody abstrakcie
- dá sa ľahko prehnať
- dá sa na to možno príliš spoliehať – napr. niečo nefunguje tak, ako si myslíme
- niekedy môže veci akurát zkomplikovať
Užitočné odkazy
Jakubova hra, ktorá učí základné koncepty OOP
Stará dobrá Wiki
OOP pre 6 ročných
Prvé časti podcastu boli celkom dobre počúvateľné ale tento ‘tutorial’ k OOP je jeden veľký mess. Chalani, ak chcete robiť vzdelávacie podcasty, tak si najprv veci naštudujte a nedohadujte sa o nich počas podcastu. U Gaba ešte aspoň vidno, že chodil na prednášky 🙂 A hlavne neodbočujte od témy, lebo inak je to strašný bordel. Ako človeka poznajúceho základné koncepty OOP ste ma riadne zamotali a nechcem vedieť, čo z toho budú mať začiatočníci. Preskakujem celý OOP seriál a uvidíme, čo to bude ďalej 🙂
Dakujeme za feedback, berieme do uvahy. Verim, ze dalsie casti sa ti budu pacit viac 🙂