INFNPOOP Object Programming

School of Business Administration in Karvina
Winter 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
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.
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
    recommended literature
  • STROUSTRUP, B. The C++ Programming Language, Special Edition. Indianapolis: AT&T - Addison Wesley, Inc., 2001. ISBN 0-201-70073-5. info
  • VIRIUS, M. Programování v C++. ČVUT Praha, 1998. ISBN 80-0101-874-1. 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
ActivityDifficulty [h]
Ostatní studijní zátěž41
Přednáška26
Seminář13
Zkouška40
Summary120
The course is also listed under the following terms Winter 2013.
  • Enrolment Statistics (Winter 2012, recent)
  • Permalink: https://is.slu.cz/course/opf/winter2012/INFNPOOP