Objektové modelování - A7B36OMO

Kredity 6
Semestry letní
Zakončení zápočet a zkouška
Jazyk výuky čeština
Rozsah výuky 2P+2C
Anotace
Objektově-orientovaný přístup dnes drtivě převažuje ve všech aspektech vývoje softwaru: analýze, návrhu i implementaci. Cílem tohoto kurzu je dovést studenty k solidnímu porozumění základním pojmům objektové teorie a nastínit jim její formální základy. \\Výsledek studentské ankety předmětu je zde: http://www.fel.cvut.cz/anketa/aktualni/courses/A7B36OMO
Cíle studia
Porozumění základním pojmům objektové teorie, schopnost jejich správné aplikace ve středně složitých situacích.
Osnovy přednášek
1. Úvod; třídy a objekty; reprezentace runtimu
2. Typový systém; skrývání implementace
3. Polymorfismus, subsumpce a substituční princip
4. Statické metody a proměnné; sémantika
5. Ukazatele, spojové seznamy, struktury s ukazateli
6. Korektnost kódu, aserce, invariant objektu/třídy/struktury, zapouzdření, zpřístupnění vnitřní reprezentace
7. Dědičnost; volání metod
8. Parametrický polymorfismus (generické třídy)
9. Pokročilý polymorfismus; binární metody; návrhové vzory pro vytváření objektů
10. Imutabilita; pokročilé kolekce; funkce vyššího řádu
11. Metaprogramování
Osnovy cvičení
Žádná data.
Literatura
1. R. Pecinovský: Myslíme objektově v jazyku Java
2. R. Pecinovský: Návrhové vzory - 33 vzorových postupů pro objektové programování
3. Webová stránka předmětu: https://cw.fel.cvut.cz/wiki/courses/a7b36omo/start
Požadavky
Základní znalost programování, základní znalost matematiky.