3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda



Podobné dokumenty
Vyřešené teoretické otázky do OOP ( )

1. Dědičnost a polymorfismus

1. Programování proti rozhraní

10 Balíčky, grafické znázornění tříd, základy zapozdření

Třídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue.

Dalším příkladem může být například výstup dat na různá zařízení, souborů, grafických rozhraní, sítě atd.

Programování II. Třídy a objekty (objektová orientovanost) 2018/19

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7

Programování II. Dědičnost změna chování 2018/19

ČÁST 1. Zahřívací kolo. Co je a k čemu je návrhový vzor 33

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

Programování II. Abstraktní třída Vícenásobná dědičnost 2018/19

Programování II. Polymorfismus

Objektově orientovaný přístup

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

7.3 Diagramy tříd - základy

6 Objektově-orientovaný vývoj programového vybavení

Základy objektové orientace I. Únor 2010

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Objekty, třídy, vazby 2006 UOMO 30

Programování v C++ 3, 3. cvičení

7.3 Diagramy tříd - základy

Diagramy tříd - základy

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Objektové programování

Maturitní témata Školní rok: 2015/2016

TÉMATICKÝ OKRUH Softwarové inženýrství

Sada 1 - Základy programování

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Jazyk C# (seminář 3)

7.5 Diagram tříd pokročilé techniky

Programování v C++ 1, 6. cvičení

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Generické programování

Třída. Atributy. Operace

Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda

Úvod do principů objektově orientovaného programování

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Dědění, polymorfismus

typová konverze typová inference

7.5 Diagram tříd pokročilé techniky

Programování II. Úvod do dědičnosti 2018/19

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

9. Polymorfismus a rozhraní

PV167 Projekt z obj. návrhu IS. 26. března 2008

Výčtový typ strana 67

Java/QE Akademie - Osnova

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

3. Třídy. Základní pojmy objektového programování. Třídy

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

Viditelnost (práva přístupu) Tomáš Pitner, upravil Marek Šabo

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Abstraktní třída a rozhraní

Obsah. Zpracoval:

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

PREPROCESOR POKRAČOVÁNÍ

Unifikovaný modelovací jazyk UML

Analýza a modelování dat. Přednáška 4

Úvod. Programovací paradigmata

IRAE 07/08 Přednáška č. 1

Profilová část maturitní zkoušky 2017/2018

Třídy, polymorfismus. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické

Programování II. Návrh programu II

OOT Objektově orientované technologie

Sdílení dat mezi podprogramy

IS pro podporu BOZP na FIT ČVUT

Objektově orientované technologie. Daniela Szturcová

PB161 Základy OOP. Tomáš Brukner

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

TÉMATICKÝ OKRUH Softwarové inženýrství

Quo vadis programování? Automatizace vyhodnocování studentských úloh

Programování II. Modularita 2017/18

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

Úvod do programovacích jazyků (Java)

20. Projekt Domácí mediotéka

State. Známý jako. Účel. Použitelnost. Stav, Object for States. umožňuje objektu měnit svoje chování v závislosti na stavu objekt mění svou třídu

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

Programování II. Objektová dekompozice Třída jako objekt 2018/19

NMIN201 Objektově orientované programování 1 / :36:09

TÉMATICKÝ OKRUH Softwarové inženýrství

Návrhové vzory. Jakub Klemsa, Jan Legerský. 30. října Objektově orientované programování.

Programování II. Návrh programu I 2018/19

Ukazka knihy z internetoveho knihkupectvi

Tvorba informačních systémů

Návrhové vzory OMO, LS 2014/2015

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/

Základy programovaní 3 - Java. Unit testy. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 26.,27.

Polymorfismus. Časová náročnost lekce: 3 hodiny Datum ukončení a splnění lekce: 30.března

Vizuální programování

Program a životní cyklus programu

Transkript:

1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání implementace? 4. Jak se nazývá vztah mezi objekty? A. Spojení B. Relace 5. Odkrývá kompozice implementaci? 6. Je kompozice relace? 7. Co objekt nemá? A. Stav B. Relaci C. Identitu D. Spojeni

8. Jak se nazývá vazba mezi třídami? A. Relace B. Spojení 9. Co musí zajistit především skrývání implemetace? a. Že, skrýváním implementace je to, že všechny metody a atributy jsou privátní. b. Že, spolupracující objekty nesmí zjistit, jak to daný objekt dělá, že umí to co dělá. 10. Jak lze snížit vzájemnou provázanost mezi dvěmi třídami? a. Pomocí další třídy, která svými jednosměrnými vazbami odstraní vzájemnou provázanost. b. Použije se dědičnost. 11. Co přinese dodržování soudružnosti? A. Nepřinese nic, jen zbytečné prodlouží vývoj programu B. Usnadní úpravy programu v budoucnu C. Snížení nachylnosti programu k chybám 12. Co dědičnost neumožňuje? A. Skrývat implementaci B. Sdílet adtributy C. Sdílet metody 13. Může testování prokázat, že chyby v programu neexistují? 14. Co je to zapouzdření? A. Seskupení souvisejicích proměných a metod do jedné jednotky. B. Seskupení pouze proměnných do jedné jendotky. C. Seskupení pouze metod do jedné jednotky.

15. K čemu se používá anonymní třída? A. Pouze k jednorázovému použití B. Lze ji použít k vytvoření libovolnému počtu objektů 16. Jak se doporučuje provést změnu rozhraní? A. Pomocí skládání B. Pomocí dědičnosti C. Nelze žádným způsobem 17. Co patří do výstupu procesu vývoje programování (softwaru)? A. Dokumentace ke zdrojovým kódům B. Textové dokumenty s požadavky, s popisy případů užití, s testovacími předpisy,... C. Skripty na řízení překladů, sestavení nebo testů D. Uživatelské příručky E. Vykonavatelné kódy F. Analytické a návrhové modely 18. Co je to odpoutání kódu? A. Odpoutaním kódu se myslí, že třídy nemají žádné vazby na jiné třídy. B. Odpoutáním se rozumí odstranění přímých vazeb. 19. Kdy použít dědičnost? A. Lze použí vždy B. Když je potomek speciální případem předka C. Když chceme zdědit část společnou několika třídám 20. Čím se testují třídy v Java? A. Frameworkem JUnit B. Metodou main() C. Aplikací

21. Čím je realizována identita objektů? Uveďte všechny správné možnosti podle různých programovacích jazyků. A. Referencí B. Ukazatelem C. Adresou 22. Na co jsou potřeba požadavky na software? A. K tvorbě návrhu softwaru B. Ke kódování C. K psaní testu D. K psaní uživatelských příruček 23. Je možné použít sdílenou agregaci mezi objekty? 24. Co je to soudržnost? A. Jedna entita (balíček,třída, metoda) plní více konkrétních úkolů. B. Jedna entita (balíček,třída, metoda) plní jeden konkrétní úkol. 25. Je výhodné psát kód tak, aby byl co nejrychlejší? 26. Je výhodné psát kód tak, aby byl co nejkratší?

27. Co je to signatura a co jsou její součásti? A. Je to název metody a její návratový typ B. Je to seznam implementovaných rozhraní C. Jsou to typy jednotlivých parametrů metod D. Je to název a typ proměnné. E. Jsou to signatury všech členů F. Je to název předka G. Signatura je souhrn informací, které zpracovává překladač. 28. Co je to dobře zapouzdřený kód? a. Všechny atributy a metody jsou deklarovány jako privátní. b. Dobře zapouzdřený kód, nezpůsobí při jeho změně, změny ostatního kódu. 29. Co se myslí skrýváním implementace? A. Omezení externí viditelnosti konstant B. Omezení externí viditelnosti metod. C. Omezení externí viditelnosti interních informací, že objekt dělá to co dělá. D. Omezení externí viditelnosti proměnných. 30. Jaké vlastnosti má instanční třída? A. Je to třída, z které lze vytvořit instanci B. Je to třída, která implementuje všechny abstraktní metody předků C. Je to též třída, která nemá žádného předka, kromě třídy Object, žádného potomka a není abstraktní třídou. D. Je to třída, která má konkrétní úkol 31. Je možné úplně ověřit program pomocí testů?

32. Kolik tříd má plnit jeden úkol? a. Více jak jedna třída b. Vždy pouze jedna třída c. Může být použita jedna třída a nebo i více tříd, které ale plní jen dílčí úkoly podsystémů 33. Co je to polymorfismus? a. Polymorfismus umožňuje metodám měnit chování podle typu jejich třídy b. Polymorfismus umožňuje metodám jedné třídy měnit chování 34. Co objekt zachovává po celou dobu svého života? A. Konstanty B. Proměnné C. Stav D. Metody 35. Je Java čistě objektově orientovaný jazyk? 36. Může staticky vnořená třída přistupovat ke členům své vnější třídy? 37. Které paradigma nejlépe odpovídá situacím v reálném světě? A. Srukturované paradigma B. Sekvenční paradigma C. Objektové paradigma

38. Co je nejzákladnější rys objektově orientovaného přístupu? A. Objekty komunikují pomocí zpráv. B. Objekty komunikují pomocí metod. C. Objekty komunikují pomocí operací. 39. K čemu je serializace objektů? A. K převodu stavu objektu do proudu bytů. B. K seriovému přenosu na vnější zařízení. 40. Kdy jsou náklady nejvyšší podle doby, kdy byly objeveny? A. V kódování B. V testování C. Při uvedení do provozu D. V analýze E. V návrhu 41. Může vnitřní třída přistupovat k členům své vnější třídy? 42. Je možné kontrakt vždy ověřit překladačem? 43. Co je to překrývání? A. Potlačení metod a atributů pouze přímého rodiče se stejnou signaturou B. Potlačení privátních atributů předka se stejnou signaturou C. Potlačení metod předka s rozdílnou signaturou D. Potlačení neprivátních metod a atributů předků se stejnou signaturou E. Potlačení pouze metod předka se stejnou signaturou

44. Lze měnit již veřejně publikované rozhraní aniž by to mělo vliv na třídy, které toto rozhraní implementují? 45. Jaké vlastnosti má abstraktní třída? A. Je to třída, která má modifikátor abstract B. Je to třída, od které nelze vytvořit instanci C. Je to třída, která má alespoň jednu abstraktní metodu 46. Čím lze snížit duplicitu? A. Pomocí metod s parametry B. Pomocí parametru třídy (genericity) C. Pomocí dědičnosti 47. Lze signaturu ověřit překladačem? 48. Je duplicita v kódu nebezpečná? 49. Když se řekne, že se nemá programovat proti instančním třídám, co se tím myslí? A. Myslí se tím, že proměnné jsou datového typu, který nemá implementované metody. B. Myslí se tím, že proměnné jsou primitivních typů C. Myslí se tím, že proměnné jsou typu jakékoliv třídy. 50. Je anonymita klienta dobrou technikou na skrytí imlementace?

51. Kdy se dědičnost nepoužije? A. Když lze zobecnit potomky B. Pouze ke zdědění nějaké implementace 52. Co je to testování? A. Zkoušení náhodnými vstupními daty s cílem nalézt co nevíce chyb. B. Testováním se rozumí dokumentované uvedení programu do činnosti s cílem nalézt co možná nejvíce chyb. 53. Co se rozumí implementací? A. Tvorba zdrojových kódů v programovacím jazyce. B. Tvorba požadavků. C. Tvorba návrhu. D. Tvorba testů. 54. Co není cílem návrhu softwaru? A. Návrhy tříd B. Požadavky C. Architektonická rozhodnutí 55. Co je implementací relací mezi třídami? A. Spojení B. Dědičnost 56. Čím se projevuje provázanost? A. Obousměrnými vzájemnými relacemi B. Značným počtem relací 57. Je sdílená asociace relace?

58. Jaké vlastnosti má abstraktní metoda? A. Je to metoda, které chybí tělo B. Tělo metody se musí implementovat pouze v jednom potomku C. Je to metoda, která má před jménem metody modifikátor abstract D. Tělo metody se musí implementovat v předcích E. Je to metoda, která nemá jméno F. Tělo metody se musí implementovat v potomcích 59. Co je to asociace? A. Relace mezi třídami B. Spojení mezí třídami 60. Vyberte jenom výhody programování proti rozhraní. Co to umožňuje? A. Umožňuje změny instanční třídy bez ohrožení tříd, které takovou třídu používají B. Umožňuje bezproblémovou záměnu instančních tříd se stejným rozhraním. C. Umožňuje doplnění instanční třídy bez ohrožení tříd, které takovou třídu používají D. Umožňuje skrývání implementace 61. Co patří mezi nefunkční požadavky? A. Pro jaký operační systém bude se vyvíjet. B. Maximální přípustná doba odezvy C. Jaký typ databáze se bude využívat D. Stanovení počtu transakcí za jednotku času 62. Co dědí potomek ze svých předků? a. Atributy b. Rozhraní c. Metody d. Spojení

63. Co je to zobecnění? A. Myšlenkový postup od konkrétního k obecnějšímu B. Myšlenkový postup od obecnějšího ke konkrétnějšímu 64. Co lze vše zahrnout pod pojem programování? A. Nastavení průběhu teploty v místnosti B. Nastavení klimatizace C. Nastavení času nahrávání videa D. Tvorba aplikací pro samočinné počítače 65. Co zcela určitě není cílem analýzy v projektech s vývojem softwaru? A. Testy B. Požadavky C. Zdrojový kód D. Popis technologie