INFPOOP Objektové programování

Obchodně podnikatelská fakulta v Karviné
léto 2008
Rozsah
2/1/0. 3 kr. Ukončení: z.
Vyučující
Ing. Marek Spišák (přednášející)
Ing. Pavel Pawlowski (cvičící)
RNDr. Ing. Bohuslav Rychtar (cvičící)
Ing. Marek Spišák (cvičící)
Garance
Ing. Marek Spišák
Katedra informatiky a matematiky – Obchodně podnikatelská fakulta v Karviné
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
Cílem předmětu je navázat na znalosti ze strukturovaného programování a seznámit studenty s novými 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). Praktická část bude realizována v prostředí Turbo C++, Visual C++, Vizual Studio.NET a JAVA v závislosti na možnostech, které fakulta nabízí.
Osnova
  • Struktura výkladu:
    1. Základní prvky jazyků C++, C# a JAVA
    2. Zapouzdření. Objekty - objektové typy, třídy
    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. Automatické a třídní ukazatele. Objekty a obyčejné ukazatele. Ukazatele do třídy, ukazatele na data, ukazatele na metody
    7. Vazby. Abstraktní třídy. Volání metod. Virtuální metody. Nevirtuální metody. Polymorfismus. 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. Prostory jmen. Soubory a proudy v C++. Vstup a výstup v C++ a v C
    #10. Dynamická identifikace typů v C++. Operátory pro bezpečnější přetypování
    11. Aplikace VC++ a Vizual Studio.NET
    Obsah předmětu:
    1. Základní prvky jazyku C++. 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
    3. Konstruktor, destruktor. Statické atributy a metody, předefinování metody, překrývání 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í
    5. Dynamické datové typy - seznam, zásobník, fronta, strom, množina, kupa, slovník. Iterátory, kontejnery
    6. 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í
    7. Automatické a třídní ukazatele. Objekty a obyčejné ukazatele. Ukazatele do třídy, ukazatele na data, ukazatele na metody.
    8. Abstraktní třídy. Virtuální metody. Nevirtuální metody. Polymorfismus. Metody pro ošetření zpráv od Windows
    9. Vícenásobná dědičnost. Instance, konstruktory a destruktory vícenásobné dědičnosti. Přetypování ukazatelů.
    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. Soubory a proudy v C++. Vstup a výstup v C++
    12. Aplikace VC++
    13. Práce s C

    #Na přednáškách je využíváno prezentační zařízení a PC. Výuka seminářů probíhá na počítačových učebnách. Studijní materiály jsou dostupné v elektronické podobě prostřednictvím fakultní počítačové sítě.
Literatura
    povinná literatura
  • 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
    doporučená literatura
  • VIRIUS, M. Programování v C++. ČVUT Praha, 1998. ISBN 80-0101-874-1. info
Informace učitele
Seminární práce, zápočet, min 70% účast na seminářích
Jiná zátěž: vyhledávání a zpracování zdrojů na internetu.
Další komentáře
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích zima 2007, zima 2008, léto 2009, zima 2009, zima 2010, zima 2011, zima 2012, zima 2013.