Nový kurz

Objektové programování v Pythonu

Objektově orientované programování (OOP) je způsob návrhu a organizace programů, který umožňuje spojovat data a operace nad nimi do samostatných, spolupracujících objektů. Kurz představí základní principy objektového návrhu a ukáže, jak je prakticky využívat v Pythonu.

Účastníci se naučí navrhovat vlastní třídy a objekty, pracovat s jejich stavem a chováním, rozlišovat vhodné použití kompozice a dědičnosti a využívat polymorfismus. Pozornost bude věnována nejen syntaxi Pythonu, ale především tomu, jak rozdělit problém do smysluplných komponent, jak mezi nimi navrhnout spolupráci a jak se vyhnout zbytečně složitému návrhu.

Kurz se soustředí na běžné a prakticky využitelné techniky objektového programování. Navazuje na kurz základů Pythonu. Pokročilejší objektově orientované techniky pak rozšiřuje zejména kurz Python303.

Kód
Python204

Délka kurzu
3 dny (8:30 – 16:00)

Forma
V naší učebně nebo online

Hlavní lektor kurzu

Ing. Jiří Bráza

Ing. Jiří Bráza

Instruktor programování

Více o lektorovi

Termíny

Katalogová cena: 17 700 Kč (bez DPH)

Máte zájem o vypsání termínu? Potřebujete poradit?

Neváhejte se na nás obrátit. Jsme vám k dispozici a rádi vám pomůžeme.

Ing. Michaela Setinská

Ing. Michaela Setinská

Bližší informace o školení


+420 731 400 369
setinska@oksystem.cz

Ing. Lumír Vojtěchovský

Ing. Lumír Vojtěchovský

Bližší informace o školení


+420 724 332 135
vojtechovsky@oksystem.cz

Kurz určen pro

Programátory, kteří znají základy Pythonu a chtějí se naučit navrhovat a vytvářet aplikace s využitím objektově orientovaného programování. Kurz je vhodný také pro ty, kteří již objekty a třídy používají, ale chtějí si ujasnit principy OOP a zlepšit návrh vlastního kódu.

Osnova

1. Objektový přístup k řešení problémů

- Principy objektově orientovaného programování
- Procedurální a objektový přístup, jejich možnosti a omezení
- Objekty jako spojení stavu a chování
- Odpovědnosti objektů a spolupráce objektů
- Rozklad problému na třídy a objekty
- Modelování jednoduchého problému a návrh jeho objektové struktury

2. Třídy a objekty v Pythonu

- Definice tříd a vytváření instancí
- Atributy instance a atributy třídy
- Metody a parametr `self`
- Konstruktor `__init__` a inicializace objektu
- Životní cyklus objektu a reference
- Viditelnost a konvence pro veřejné a interní členy
- Zapouzdření a ochrana invariantů objektu

3. Spolupráce objektů a návrh odpovědností

- Volání metod a předávání objektů jako parametrů
- Vztahy mezi objekty
- Kompozice a agregace
- Kompozice versus dědičnost
- Rozdělení odpovědností a omezení příliš rozsáhlých tříd
- Návrh rozhraní objektu a minimalizace závislostí

4. Dědičnost a polymorfismus

- Princip dědičnosti a specializace
- Překrývání (override) metod
- Volání implementace předka pomocí `super()`
- Polymorfismus a zaměnitelnost objektů
- Vícenásobná dědičnost a pořadí řešení metod (MRO)
- Kdy dědičnost pomáhá a kdy je vhodnější kompozice

5. Objektové rozhraní a běžné konstrukce Pythonu

- Vlastnosti (properties) a řízený přístup k atributům
- Statické metody a třídní metody
- Základní speciální metody, například `__str__`, `__repr__`, `__eq__` a porovnávání
- Objekt jako kontejner: základní přehled metod pro práci s obsahem
- Abstraktní třídy a rozhraní pomocí `abc`

6. Návrh, testování a údržba objektového kódu

- Návrh tříd podle odpovědností
- Závislosti mezi objekty a jejich omezení
- Rozšiřitelnost a změny požadavků
- Testování objektů a jejich spolupráce
- Refaktoring procedurálního řešení do objektového návrhu
- Praktické cvičení: návrh a implementace menší objektově orientované aplikace

 

Absolvent kurzu bude umět

- Vysvětlit základní principy objektově orientovaného programování a rozpoznat situace, ve kterých je objektový přístup přínosný.
- Navrhovat třídy a objekty s jasně vymezenými odpovědnostmi.
- Vytvářet vlastní třídy, inicializovat objekty a pracovat s jejich atributy a metodami.
- Navrhovat spolupráci objektů a využívat kompozici.
- Používat dědičnost a polymorfismus a posoudit, kdy je jejich použití vhodné.
- Využívat běžné objektové konstrukce Pythonu včetně properties, speciálních metod a datových tříd.
- Číst, upravovat a testovat objektově orientovaný kód.

Požadavky pro absolvování kurzu

- Základy programování a algoritmizace.
- Základní znalost jazyka Python, zejména proměnných, datových typů, podmínek, cyklů, funkcí, kolekcí a práce s moduly.
- Praktická zkušenost s tvorbou jednoduchých programů v Pythonu; doporučeným předpokladem je absolvování kurzu Python101 nebo odpovídající znalosti.

Technické vybavení

Všechny učebny jsou vybaveny nadstandardními počítači připojenými k Internetu, učebny jsou prostorné, klimatizované, bezbariérové a s připojením na Wi-Fi. V případě zájmu lze školení absolvovat online live.

Literatura

Všichni účastníci školení obdrží materiály společnosti OKsystem. 

PDF ke stažení

Ceny jsou bez DPH. OKsystem a.s. si vyhrazuje právo změnit termín a cenu školení.

Podobné kurzy

Prohlédněte si některé podobné kurzy z naší široké nabídky.

Nový kurz

Python pro programátory Python106


11 800 Kč Detail kurzu
Nový kurz

Asynchronní a vícevlákenné programování v Pythonu Python301


11 800 Kč Detail kurzu

Analýza dat pomocí jazyka Python Python201


15 600 Kč Detail kurzu

Kontaktujte nás

Neváhejte se na nás obrátit ať už máte jakýkoliv dotaz.

Simona Dianová

Simona Dianová

Organizace školení a testů


+420 236 072 251
dianova@oksystem.cz

Ing. Dana Černá

Ing. Dana Černá

Certifikační testy


+420 236 072 318
cernad@oksystem.cz

Potřebujete toho o nás vědět víc, nebo nás raději chcete kontaktovat pomocí formuláře?

Kontaktní stránka

OKškolení je součástí OKsystem a.s.

Zásady ochrany soukromí při použití AI Asistenta:

AI Asistent (chatbot) je softwarová aplikace určená k simulaci konverzace s lidskými uživateli. Chatbot pracuje s informacemi, které do něj uživatel vkládá, včetně osobních nebo důvěrných informací. Proto takové informace do komunikace s chatbotem nikdy nevkládejte.

V konverzaci používejte anonymní příklady místo skutečných informací a nikdy s chatbotem nesdílejte osobní údaje či citlivé dokumenty, jelikož není možné zaručit, že data v nich obsažená nebudou dále zpracována.