Přednášky
1. Vývoj programovacích paradigmat a jazyků, příčiny a důsledky.
2. Aspekty kvality software, znovupoužití. Nevýhody použití klasických přístupů.
3. Třída x objekt. Objekt jako počítačová reprezentace entity reálného světa. Data a funkce objektu, stav objektu.
4. Přehled principů OOP. Zapouzdření, skládání, zasílání zpráv, delegování, dědičnost, polymorfismus.
5. Vznik a zánik objektu I. Konstruktory, destruktory, jak fungují a proč.
6. Veřejná a soukromá část objektu, skrývání implementace.
7. Návrh objektově orientovaného programu I.
8. Jednoduchá dědičnost a důvody pro její použití. Polymorfismus.
9. Virtuální metody. Abstraktní třídy. Typy skrývání implementace. Vícenásobná x jednoduchá dědičnost, problémy a důsledky.
10. Vznik a zánik objektů II. Speciální typy konstruktorů, kopírovací konstruktor.
11. Návrh objektově orientovaného programu II.
12. Šablony (template) a důvody pro jejich použití.
13. Standardní objektové knihovny jazyka C++.
14. Návrh objektově orientovaného programu III.
Počítačové laboratoře
1. 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.
2. 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.
3. Implementace jednoduchého objektově orientovaného programu I.
4. Ukázka implementace jednoduché objektové hierarchie (dědičnost), analýza chování objektů.
5. Implementace jednoduchého objektově orientovaného programu II.
6. Ukázka implementace objektového programu s využitím šablon a vybraných tříd standardních objektových knihoven jazyka C++.
7. Implementace jednoduchého objektově orientovaného programu III.
1. Vývoj programovacích paradigmat a jazyků, příčiny a důsledky.
2. Aspekty kvality software, znovupoužití. Nevýhody použití klasických přístupů.
3. Třída x objekt. Objekt jako počítačová reprezentace entity reálného světa. Data a funkce objektu, stav objektu.
4. Přehled principů OOP. Zapouzdření, skládání, zasílání zpráv, delegování, dědičnost, polymorfismus.
5. Vznik a zánik objektu I. Konstruktory, destruktory, jak fungují a proč.
6. Veřejná a soukromá část objektu, skrývání implementace.
7. Návrh objektově orientovaného programu I.
8. Jednoduchá dědičnost a důvody pro její použití. Polymorfismus.
9. Virtuální metody. Abstraktní třídy. Typy skrývání implementace. Vícenásobná x jednoduchá dědičnost, problémy a důsledky.
10. Vznik a zánik objektů II. Speciální typy konstruktorů, kopírovací konstruktor.
11. Návrh objektově orientovaného programu II.
12. Šablony (template) a důvody pro jejich použití.
13. Standardní objektové knihovny jazyka C++.
14. Návrh objektově orientovaného programu III.
Počítačové laboratoře
1. 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.
2. 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.
3. Implementace jednoduchého objektově orientovaného programu I.
4. Ukázka implementace jednoduché objektové hierarchie (dědičnost), analýza chování objektů.
5. Implementace jednoduchého objektově orientovaného programu II.
6. Ukázka implementace objektového programu s využitím šablon a vybraných tříd standardních objektových knihoven jazyka C++.
7. Implementace jednoduchého objektově orientovaného programu III.