Přednášky
Vývoj programovacích paradigmat a jazyků, příčiny a důsledky.
Aspekty kvality software, znovupoužití. Nevýhody použití klasických přístupů.
Třída x objekt. Objekt jako počítačová reprezentace entity reálného světa. Data a funkce objektu, stav objektu.
Přehled principů OOP. Zapouzdření, skládání, zasílání zpráv, delegování, dědičnost, polymorfismus.
Vznik a zánik objektu I. Konstruktory, destruktory, jak fungují a proč.
Veřejná a soukromá část objektu, skrývání implementace.
Návrh objektově orientovaného programu I.
Jednoduchá dědičnost a důvody pro její použití. Polymorfismus.
Virtuální metody. Abstraktní třídy. Typy skrývání implementace. Vícenásobná x jednoduchá dědičnost, problémy a důsledky.
Vznik a zánik objektů II. Speciální typy konstruktorů, kopírovací konstruktor.
Návrh objektově orientovaného programu II.
Šablony (template) a důvody pro jejich použití.
Standardní objektové knihovny jazyka C++.
Defenzivní přístup k tvorbě objektového programu.
Počítačová cvičení:
Porovnání zdrojových kódu úloh s obdobným zaměřením a rozsahem, ale s použitím různého přístupu (procedurální x objektově orientovaný). Hodnocení z pohledu struktury, čitelnosti, spravovatelnosti.
Ukázka implementace jednoduchých spolupracujících tříd, analýza chování objektů.Návrh třídy s ohledem na skrývání detailů implementace.
Implementace jednoduchého objektově orientovaného programu I.
Ukázka implementace jednoduché objektové hierarchie (dědičnost), analýza chování objektů.
Implementace jednoduchého objektově orientovaného programu II.
Ukázka implementace objektového programu s využitím šablon a vybraných tříd standardních objektových knihoven jazyka C++.
Ukázka a defenzivní implementace jednoduchého orientovaného programu.
Vývoj programovacích paradigmat a jazyků, příčiny a důsledky.
Aspekty kvality software, znovupoužití. Nevýhody použití klasických přístupů.
Třída x objekt. Objekt jako počítačová reprezentace entity reálného světa. Data a funkce objektu, stav objektu.
Přehled principů OOP. Zapouzdření, skládání, zasílání zpráv, delegování, dědičnost, polymorfismus.
Vznik a zánik objektu I. Konstruktory, destruktory, jak fungují a proč.
Veřejná a soukromá část objektu, skrývání implementace.
Návrh objektově orientovaného programu I.
Jednoduchá dědičnost a důvody pro její použití. Polymorfismus.
Virtuální metody. Abstraktní třídy. Typy skrývání implementace. Vícenásobná x jednoduchá dědičnost, problémy a důsledky.
Vznik a zánik objektů II. Speciální typy konstruktorů, kopírovací konstruktor.
Návrh objektově orientovaného programu II.
Šablony (template) a důvody pro jejich použití.
Standardní objektové knihovny jazyka C++.
Defenzivní přístup k tvorbě objektového programu.
Počítačová cvičení:
Porovnání zdrojových kódu úloh s obdobným zaměřením a rozsahem, ale s použitím různého přístupu (procedurální x objektově orientovaný). Hodnocení z pohledu struktury, čitelnosti, spravovatelnosti.
Ukázka implementace jednoduchých spolupracujících tříd, analýza chování objektů.Návrh třídy s ohledem na skrývání detailů implementace.
Implementace jednoduchého objektově orientovaného programu I.
Ukázka implementace jednoduché objektové hierarchie (dědičnost), analýza chování objektů.
Implementace jednoduchého objektově orientovaného programu II.
Ukázka implementace objektového programu s využitím šablon a vybraných tříd standardních objektových knihoven jazyka C++.
Ukázka a defenzivní implementace jednoduchého orientovaného programu.