Advertisement
Guest User

Untitled

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