Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2.sada
- 1. Co je hlavními příčinami potřeby změn software?
- • Uživatelské požadavky, chyby v SW, změna hardware, změna formátu dat,
- optimalizace
- 2. Jaké jsou hlavní faktory ovlivňující objektovou orientovanost?
- • Metoda a jazyk
- • Implementace a prostředí
- • Knihovny
- 3. Vysvětlete, co rozumíme pojmy objektově orientovaná metoda (přístup) a jazyk.
- • Syntaxe jazyka musí podporovat OO, ale programátor musí také smýšlet objektově –
- strukturovat program do tříd
- 4. Vysvětlete, co rozumíme podporou objektově orientované implementace.
- • Podpora ze strany IDE, nástroje pro tvorbu dokumentace a nasazení nových verzí
- 5. Vysvětlete, co rozumíme podporou opakované použitelnosti (využití a vytváření knihoven).
- • OOP spoléhá na knihovny, ať už vytvořené tvůrci jazyka, třetími stranami, nebo námi.
- Netřeba znovuvynalézat kolo.
- 6. Vysvětlete pojmy třída a objekt a použijte správnou terminologii.
- • Třída – popisuje abstraktní datový typ a jeho implementaci. Tímto typem rozumíme
- objekty se společným chováním reprezentovaným seznamem operací, které umí
- objekty vykonávat
- • Objekt je instancí třídy a obsahuje data (další objekty) a metody
- 7. Zdůrazněte vlastnosti třídy z pohledu modularity.
- • Pochopitelnost, samostatnost, kombinovatelnost, zapouzdření, správnost
- 8. Vysvětlete princip zapouzdření v OOP.
- • Skrytí implementačních detailů proti změnám zvenčí. Zvenčí je přístupné pouze
- rozhraní modulu.
- 9. Vysvětlete princip zasílání zpráv.
- • Zasláním jména (metody) zprávy s parametry rozumíme zavolání metody (klientem)
- na instanci/třídě, která odpovídá signatuře zprávy
- 10. Vysvětlete principy deklarace a definice jednoduché třídy v C++.
- • Definice – Name::MethodName(){}
- • Deklarace – class Name { private: MethodName(); public: }
- 3. sada
- 1. Vysvětlete, jak vznikají objekty třídy, pojem konstruktor a principy práce s ním v C++.
- • Objekt vzniká zavoláním konstruktoru. Je to v podstatě metoda s názvem třídy, bez
- návratového typu. Slouží k inicializaci objektu. Každá třída má konstruktor (ať už
- implicitní nebo explicitní.
- 2. Vysvětlete, jak zanikají objekty třídy, pojem destruktor a principy práce s ním v C++.
- • Slouží pro dealokování paměti z heapu (alokované dynamicky). Každá třída má
- implicitní destruktor, pokud v objektu odkazujeme referencí na další objekty, je třeba
- implementovat vlastní destruktor, který se postará o odstranění těchto objektů.
- 3. Vysvětlete rozdíl mezi statickou a dynamickou deklarací objektů v C++.
- • Statická deklarace vytváří objekty na stacku, dynamická (pomocí operátoru new) na
- heapu. Na dynamicky alokované objekty musíme explicitně zavolat destruktor.
- 4. Jak se dá postupovat, pokud chceme v zadání programu nalézt třídy, jejich metody a datové
- členy?
- • Nalézt často se opakující podstatná jména a slovesa. Podstatná jména, u kterých si
- dokážeme představit, že by tvořily modul, budou třídy, jinak budou pravděpodobně
- data. Slovesa vyjadřují chování, budou to tedy metody.
- 5. Co je hlavním důvodem a co účelem použití více konstruktorů jedné třídy?
- • Hlavní důvod pro rozšíření neboli parametrizaci konstruktoru je přizpůsobení pro
- různé data
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement