+420 770 639 863 (pracovni dny, 9-17 hod.) info@engeto.com
Hlavní stránka / Blog / Co je to OOP a proč se to mám učit?

Co je to OOP a proč se to mám učit?

Autor: Dominik Remetei  |  Kategorie: Programování  |  Publikováno: 26.8.2019

Ze všech stran slyšíš, že pokud se chceš živit jako programátor, musíš se naučit kromě programovacího jazyka taky nějaké to ó-ó-pé. Co to ale je a proč by tě to mělo zajímat? Chceš se dozvědět, k čemu je to dobré a kde se OOP používá? Nebo jestli je to těžké a jak to funguje? Tak čti dál!

Co to je?

OOP, neboli objektově orientované programování (object-oriented programming), je způsob, jak nad kódem přemýšlet a jak ho psát. Možná jsi se také setkal/a s funkcionálním nebo procedurálním programováním. Jednotlivé způsoby se liší strukturou a designem kódu.

Proč by mě OOP mělo zajímat?

Existují 2 hlavní důvody, proč se naučit objektově orientované programování používat:

 

  • Pokud se chceš zaměstnat v IT, tak se OOP dost pravděpodobně nevyhneš. Nejen, že ho budeš muset číst (v kódu ostatních programátorů), ale taky v něm budeš muset přemýšlet a psát.
  • Pokud chceš časem pracovat na větších projektech (zhruba 50 000 řádků a více) budeš potřebovat OOP pro uchování srozumitelnosti a udržitelnosti kódu.

Kde se OOP používá?

Jednoduše řečeno, tento způsob zamyšlení se nad organizací kódu potkáš prakticky všude. OOP je jazykově neutrální, což znamená, že se používá napříč různými jazyky:

OOP se využívá napříč programovacími jazyky jako je například Python, Java, C# či JavaScript a potkáš se s ním ve většině IT společností.

V některých IT odvětvích se používá OOP více (vývoj webu, databázové systémy) a v některých méně (data science, machine learning). Nicméně i v oblastech, které využívají OOP méně, se často pracuje s knihovnami (kód, který napsal někdo jiný a my ho používáme), které v něm jsou napsané.

Čili nehledě na odvětví, znalost objektově orientovaného programování se ti bude hodit.

Je to těžké?

Ano i ne. Některým trvá pochopit principy OOP déle. Více lidem pak trošku trvá OOP aplikovat do svého kódu, ale většině lidí dělá (hlavně ze začátku) problém začít psát kód v OOP tak, aby to bylo opravdu užitečné, smysluplné, udržitelné a srozumitelné.

Ale máme pro tebe dobré zprávy. Nebudeš jediný, komu se ze začátku točí z OOP hlava! Proto ti na různých programátorských fórech či skupinách vždycky někdo poradí.

Kód uspořádaný dle OOP může vypadat třeba takto.

K čemu je OOP dobré?

Na úplném začátku tvé kariéry ti jako “programátorovi“ za psaní kódu nebude žádná firma moc ochotna platit. Proč tomu tak je? Příkazy (řádky) se opakují. Výsledný kód je potom dlouhý a nepřehledný. Díky tomu se v něm pravděpodobně nachází množství chyb.

Pak ale objevíš funkce. To jsou kousky kódu, které programátor napíše jen jednou. Funkce mají jeden účel a jsou určené pro vykonání určitého setu příkazů. Například takovým účelem může být seřadit jména dle abecedy. Funkce tedy ve svém kódu jen takzvaně voláš jejich jménem, ale už nemusíš opisovat řádky. Jejich zavoláním se vykoná kód, který jsi jim předepsal (seřadit jména). To pak ušetří hodně místa a taky ti to umožní lépe udržovat kód.

Jako programátor pak můžeš svůj život dožít jenom psaním funkcí. Programy budou fungovat. V určitém bodu se ale může stát, že ty funkce bude taky třeba nějak uspořádat, aby ses v nich vyznal. Pak se pravděpodobně začneš věnovat objektově-orientovanému programování. To spočívá ve vytváření takzvaných tříd. Psaní tříd a objektově-orientované programování je tedy jedno a to samé. Třídy, kterým také říkáme objekty, mohou obsahovat vícero funkcí a být tak použity na vícero místech programu.

S OOP se častěji setkáme u větších projektů, protože, kromě dalšího množství benefitů, programátorům umožňuje organizovat jejich kód přehledněji. A přehlednost znamená efektivitu.

V OOP využíváme principy objektů, tříd, vlastností a zapouzdření. Zdroj: Rainer Hahnekamp

Jak to funguje?

Pojďme pěkně od začátku. Programování je zápis řešení problému pomocí kódu. V případě OOP se tyto problémy snažíme řešit pomocí objektů, které reprezentují objekty v reálném světě.
No a jak víme z kostiček, svět je plný lidí, hraček, zvířat, věcí a všechny mají 2 společné rysy – mají určité vlastnosti a chování.

Takže například chceme vytvořit aplikaci na úpravu obrázků. Co můžeme na obrázku upravit? Jeho velikost, jméno, jeho pixely, atp. To jsou jeho vlastnosti. Jak ho můžeme upravit? Změnit velikost, jméno, ořezat (neboli odstranit určitou část pixelů), otočit (neboli změnit polohu pixelů), změnit jeho barvu (změnit barvu pixelů). To je jeho chování.

Problém tedy je, jak upravit obrázek. Objekty, které jsme v tomto problému identifikovali, jsou obrázek a pixel. U každého objektu jsme si definovali jaký je (vlastnosti) a co s ním můžeme dělat (chování).

Dalším krokem by tedy bylo zapsat obrázek a pixel do kódu a začít je používat pro úpravu obrázku.

Jak zapsat objekty do kódu?

Než se vrhneš na psaní kódu v OOP, doporučujeme si nejdřív zažít psaní příkazů a funkcí. Pokud se to chceš naučit v Pythonu, můžeme ti s tím pomoct v Python Akademii.

Že už máš příkazy i funkce v malíku? V tom případě můžeš rovnou na naše OOP školení.

Katka Kavanová

Katka Kavanová

Mám na starosti blogy a veškeré další texty, které si od nás můžeš přečíst. Když budeš souhlasně přikyvovat (doufám) nebo se mračit (doufám, že ne) nad našimi Facebookovými a Instagramovými posty, věř, že i v tom mám prsty.

Novinky

Zajímají tě novinky, blogové články a další?

Zanech nám tvůj e-mail a my ti dáme vědět!

Kontaktní údaje

ENGETO s.r.o.

Cyrilská 508/7

602 00, Brno

IČ: 04671317

DIČ: CZ04671317

Společnost ENGETO s.r.o. byla podpořená agenturou CzechInvest v rámci projektu Podpora start-upů, klíčové aktivity CzechStarter, realizované z programu Marketing, prioritní osy č. 2 „Rozvoj podnikání a konkurenceschopnosti malých a středních podniků“ v rámci Operačního programu Podnikání a inovace pro konkurenceschopnost.