|
Vyučující
|
-
Král Erik, Ing. Ph.D.
-
Vogeltanz Tomáš, Ing. Ph.D.
-
Fojtů Dušan, Ing. Ph.D.
|
|
Obsah předmětu
|
- Základní OOP terminologie. - Objekty, třídy, atributy, metody, zapouzdření. Konstruktory a destruktory. Přetěžování metod (Method Overloading). - Životní cyklus objektu a správa paměti. Statické atributy a metody. Manuální a automatické správy paměti. Deterministická a nedeterministická destrukce objektu. - Vztahy mezi objekty (asociace, agregace a kompozice), skládání objektů. - Dědičnost kódu, výhody a nevýhody ve srovnání se skládáním objektů. - Kopírování objektů, hluboká a mělká kopie objektu. Kopírovací konstruktor. - Polymorfismus. Překrývání metod (Method Overriding), virtuální a abstraktní metody. Abstraktní třídy. - Dědičnost rozhraní (Interface) - Šablony a generické programování. Generické datové typy a kolekce. - Základní návrhové vzory. Singleton, Factory a další klasické návrhové vzory. - Návrhový vzor Dependency injection a princip Inversion of control. - Vzor Observer a jeho využití při komunikaci objektů. - Asynchronní zpracování dat, paralelní přístup k objektům. - Případová studie.
|
|
Studijní aktivity a metody výuky
|
Přednášení, Cvičení na počítači
- Účast na výuce
- 42 hodin za semestr
- Příprava na zápočet
- 30 hodin za semestr
- Domácí příprava na výuku
- 36 hodin za semestr
|
| Výsledky učení |
|---|
| Odborné znalosti |
|---|
| Definuje co je to třída, objekt a objektově orientované programování. |
| Definuje co je to třída, objekt a objektově orientované programování. |
| Vysvětlí použití virtuálních a abstraktních metod. |
| Vysvětlí použití virtuálních a abstraktních metod. |
| Popíše důvody použití rozhraní (interface). |
| Popíše důvody použití rozhraní (interface). |
| Zdůvodní výhodny organizace kódu s pomocí návrhového vzoru Dependency Injection. |
| Zdůvodní výhodny organizace kódu s pomocí návrhového vzoru Dependency Injection. |
| Objasní výhody použití generického programování a generických kolekcí. |
| Objasní výhody použití generického programování a generických kolekcí. |
| Defines what is a class, an object and object-oriented programming. |
| Defines what is a class, an object and object-oriented programming. |
| Explains the use of virtual and abstract methods. |
| Explains the use of virtual and abstract methods. |
| Describes the reasons for using interfaces. |
| Describes the reasons for using interfaces. |
| Justifies the benefits of organizing code. |
| Justifies the benefits of organizing code. |
| Explain the advantages of using generic programming and generic collections. |
| Explain the advantages of using generic programming and generic collections. |
| Odborné dovednosti |
|---|
| Analyzuje problém a navrhne jeho rešení s pomocí objektově orientovaného programování. |
| Analyzuje problém a navrhne jeho rešení s pomocí objektově orientovaného programování. |
| Ogranizuje kód vhodně do tříd z hlediska přehlednosti a znovuvyužitelnosti kódu. |
| Ogranizuje kód vhodně do tříd z hlediska přehlednosti a znovuvyužitelnosti kódu. |
| Použije překrývání virtuální a abstraktní metod. |
| Použije překrývání virtuální a abstraktní metod. |
| Definuje vhodné rozhraní pro snadnou rozšiřitelnost kódu. |
| Definuje vhodné rozhraní pro snadnou rozšiřitelnost kódu. |
| Zvolí vhodné generické datové kolekce. |
| Zvolí vhodné generické datové kolekce. |
| Analyzes a problem and proposes a solution using object-oriented programming. |
| Analyzes a problem and proposes a solution using object-oriented programming. |
| Organizes code appropriately into classes for clarity and code reusability. |
| Organizes code appropriately into classes for clarity and code reusability. |
| Applies overrided virtual and abstract methods. |
| Applies overrided virtual and abstract methods. |
| Defines an appropriate interface for easy extensibility of the code. |
| Defines an appropriate interface for easy extensibility of the code. |
| Selects appropriate generic data collections. |
| Selects appropriate generic data collections. |
| Vyučovací metody |
|---|
| Odborné znalosti |
|---|
| Cvičení na počítači |
| Cvičení na počítači |
| Přednášení |
| Přednášení |
| Hodnotící metody |
|---|
| Písemná zkouška |
| Písemná zkouška |
|
Doporučená literatura
|
-
FOWLER, M. Patterns of enterprise application architecture. Boston: Addison-Wesley, 2003. ISBN 978-0-321-12742-6.
-
Fowler, Martin. Destilované UML. 1. vyd. Praha : Grada, 2009. ISBN 978-80-247-2062-3.
-
GAMMA, E., R. HELM, R. JOHNSON a J. VLISSIDES. Design Patterns. Addison-Wesley, 1994. ISBN 0-201-63361-2.
-
Keogh, James Edward. OOP bez předchozích znalostí : průvodce pro samouky. Vyd. 1. Brno : Computer Press, 2006. ISBN 80-251-0973-9.
|