OPF:INFNPOOP Object Programming - Course Information
INFNPOOP Object Programming
School of Business Administration in KarvinaWinter 2012
- Extent and Intensity
- 2/1/0. 4 credit(s). Type of Completion: zk (examination).
- Teacher(s)
- doc. Ing. Petr Čermák, Ph.D. (lecturer)
Ing. Marek Spišák (seminar tutor) - Guaranteed by
- doc. Ing. Petr Čermák, Ph.D.
Department of Informatics and Mathematics – School of Business Administration in Karvina - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Managerial Informatics (programme OPF, N_SYSINF)
- Course objectives (in Czech)
- Cílem předmětu je navázat na znalosti ze strukturovaného programování a seznámit studenty s postupy objektově orientovaného programování, naučit je vytvářet a používat příslušné datové typy, pracovat s třídami a dynamickými typy, využívat nových prostředků OP, jimiž jsou dědičnost a polymorfismus. Dále se studenti seznámí s pokročilejšími vlastnostmi jazyka C++, mnohem detailněji bude v předmětu rozebrána otázka rozdílností jazyků C++ a JAVA. Cílem předmětu je rovněž objasnit práci se šablonami a objektovými datovými proudy (soubory).
- Syllabus (in Czech)
- 1. Základní prvky jazyků C++, C# a JAVA.
2. Zapouzdření. Objekty - objektové typy, třídy. Vztahy mezi třídami.
3. Konstruktor, destruktor.
4. Operátory, indexování, volání funkce, přetypování.
5. Dynamické datové typy. Iterátory, kontejnery. Operátory pro správu paměti. Operátory pro alokaci polí.
6. Ukazatele a reference.
7. Vazby (časná a pozdní). Volání metod. Virtuální metody a polymorfismus. Abstraktní třídy. Metody ošetření zpráv od Windows.
8. Vícenásobná dědičnost. Instance, konstruktory a destruktory vícenásobné dědičnosti. Přetypování ukazatelů.
9. Problémy s vícenásobnou dědičností.
10. Šablony v C++.
11. Prostory jmen. Soubory a proudy v C++. Vstup a výstup v C++.
12. Dynamická identifikace typů v C++. Operátory pro bezpečnější přetypování.
13. Implementace konkrétní aplikace v C++.
1. Základní prvky jazyků C++, C# a JAVA. Kompilátory. Metody návrhu programů v C++. Standardní knihovna C++ a standardní knihovna šablon. Rozdíl mezi procedurálním a objektovým programováním.
2. Zapouzdření. Objekty - objektové typy, deklarace třídy, instance třídy, komponenty tříd. Metody - deklarace metod, definování metod. Uživatelské datové typy. Vztahy mezi třídami (asociace, kompozice, dědičnost) a návrh programu z hlediska OOP.
3. Konstruktor, destruktor. Statické atributy a metody. Přetížení konstruktorů a metod. Dědičnost.
4. Operátory - přiřazovací, základní binární, unární, inkrementace a dekrementace, indexování, volání funkce, přetypování. Přetížení operátorů, friend funkce.
5. Dynamické datové typy - seznam, zásobník, fronta, strom, množina, kupa, slovník. Iterátory, kontejnery. Přístup ke vnořeným typům (public, protected, private). Dynamická alokace paměti. Operátory pro správu paměti (new, delete), operátory pro alokaci polí.
6. Automatické a třídní ukazatele. Objekty a klíčové slovo this. Ukazatele na třídu, ukazatele na data, ukazatele na metody či prosté funkce.
7. Abstraktní třídy. Virtuální metody. Nevirtuální metody. Časná a pozdní vazba. Polymorfismus. Metody pro ošetření zpráv od Windows.
8. Vícenásobná dědičnost. Instance, konstruktory a destruktory vícenásobné dědičnosti. Přetypování ukazatelů.
9. Problémy spojené s vícenásobnou dědičností a jejich řešení (konflikt jmen, opakovaná dědičnost, virtuální dědičnost).
10. Šablony v C++. Deklarace šablony, šablony řadových funkcí, šablony objektových typů a jejich metod, šablony v rozsáhlých programech, šablony v knihovnách.
11. Prostory jmen a jejich použití. Soubory a proudy v C++, vstup a výstup aplikace.
12. Dynamická identifikace typů v C++. Operátory pro bezpečnější přetypování (static_cast, const_cast, reinterpreter_cast, dynamic_cast).
13. Implementace konkrétní aplikace v C++ s využitím polymorfismu a abstraktní třídy.
- 1. Základní prvky jazyků C++, C# a JAVA.
- Literature
- required literature
- ECKEL, B. Myslíme v jazyku C++. Praha: Grada Publishing, a.s., 2000. ISBN 80-247-9009-2. info
- PECINOVSKÝ, R., VIRIUS, M. Objektové programování 1. Grada, Praha, 1996. ISBN 80-7169-366-9. info
- PECINOVSKÝ, R., VIRIUS, M. Objektové programování 2. Grada, Praha, 1996. ISBN 80-7169-436-3. info
- Teaching methods
- Skills demonstration
Seminar classes - Assessment methods
- Grade
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course can also be completed outside the examination period.
- Teacher's information
Activity Difficulty [h] Ostatní studijní zátěž 41 Přednáška 26 Seminář 13 Zkouška 40 Summary 120
- Enrolment Statistics (Winter 2012, recent)
- Permalink: https://is.slu.cz/course/opf/winter2012/INFNPOOP