44G UOA2 J8 ZLOM.doc verze , uloženo: pá :35 Strana 2 z 651

Rozměr: px
Začít zobrazení ze stránky:

Download "44G UOA2 J8 ZLOM.doc verze , uloženo: pá :35 Strana 2 z 651"

Transkript

1

2 44G UOA2 J8 ZLOM.doc verze , uloženo: pá :35 Strana 2 z 651

3 Java 8 úvod do objektové architektury pro mírně pokročilé Rudolf Pecinovský G_UOA2_J8_ZLOM.doc verze , uloženo: pá :35 Strana 3 z 651

4 Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována a šířena v papírové, elektronické či jiné podobě bez předchozího písemného souhlasu nakladatele. Neoprávněné užití této knihy bude trestně stíháno. Rudolf Pecinovský Java 8 Úvod do objektové architektury pro mírně pokročilé TIRÁŽ TIŠTĚNÉ PUBLIKACE Vydala Grada Publishing a.s. U Průhonu 22, Praha 7 jako svoji publikaci Odborní lektoři: doc. Ing. Pavel Herout, Ph.D., doc. MUDr. Jiří Kofránek, CSc., doc. Ing. Vojtěch Merunka, Ph.D., doc. Ing. Miroslav Virius, CSc. Odpovědný redaktor: Martin Vondráček, Ladislava Soukupová Návrh vnitřního layoutu: Rudolf Pecinovský Zlom: Rudolf Pecinovský Počet stran 656 První vydání, Praha 2014 Vytiskla tiskárna PROTISK, s. r. o. V knize použité názvy mohou být ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků. Copyright Grada Publishing, a.s., 2014 Cover Photo fotobanka Allphoto.cz ISBN TIRÁŽ ELEKTRONICKÉ PUBLIKACE ISBN (ve formátu PDF) ISBN (ve formátu EPUB)

5 Mé ženě Jarušce a dětem Štěpánce, Pavlínce, Ivance a Michalovi 44G_UOA2_J8_ZLOM.doc, verze , uloženo: pá :35 Strana 5 z 651

6 6 Java 8 Úvod do objektové architektury pro mírně pokročilé Stručný obsah Stručný obsah Skrytí spoluautoři Úvod Část I: Vývojové prostředí Co byste měli znát z prvního dílu Vývojové prostředí NetBeans Projekty v NetBeans Library Vytváříme nový projekt AHA Práce na připraveném projektu Elevator Spolupráce projektů Vehicle Testovací třída VehicleTest, Robot Ladění programů Robot Část II: Vylepšování architektury Program ve výjimečné situaci Návrhový vzor Tovární metoda Návrhový vzor Stav Robot Návrhový vzor Stavitel RingBuilder Návrhový vzor Dekorátor SmoothVehicle Implicitní implementace RingVehicle, ControlledVehicle Generické datové typy a metody Pokročilejší práce s typovými parametry Funkční interfejsy a lambda-výrazy Rekurzivní volání Interní datové typy Kontejnery a datovody G_UOA2_J8_ZLOM.doc verze , uloženo: pá :35 Strana 6 z 651

7 Stručný obsah 7 Část III: Dědění implementace Podrobnosti o konstruktorech tříd a instancí Úvod do dědění implementace: Mother Daughter Granddaughter Zakrývání atributů a metod Virtuální metody a jejich přebíjení Pasti a propasti dědění implementace Vytváříme rodičovskou třídu ARobot Část IV: Další užitečné programové konstrukce Učíme program přemýšlet Ještě jednu rundu, prosím Další důležité datové struktury O čem jsme ještě nehovořili Rejstřík G_UOA2_J8_ZLOM.doc, verze , uloženo: pá :35 Strana 7 z 651

8 8 Java 8 Úvod do objektové architektury pro mírně pokročilé Podrobný obsah Podrobný obsah Skrytí spoluautoři Úvod Komu je kniha určena Koncepce knihy Co se naučíte, uspořádání knihy Programovací jazyk Potřebné vybavení Doprovodné projekty Doplňková literatura Použité konvence Místní nabídka Formátování Odbočka Část I: Vývojové prostředí Co byste měli znát z prvního dílu Přehled látky prvního dílu Definice deklarace Co je to objekt Datový typ, třída, class-objekt Zpráva metoda, polymorfismus Rozhraní interfejs Zapouzdření a skrývání implementace Datové typy a jejich dědění Vlastní instance třídy a mateřská třída objektu LSP Liskov Substitution Principle Přetěžování přebíjení zakrývání metod Odkazové a hodnotové datové typy Návrhové vzory Modul komponenta knihovna framework Modul Komponenta Knihovna Framework Změny šablon Knihovna CanvasManager Shrnutí co jsme se naučili Vývojové prostředí NetBeans Instalace Instalace pro Windows První spuštění G_UOA2_J8_ZLOM.doc verze , uloženo: pá :35 Strana 8 z 651

9 Podrobný obsah Aplikační okno, panely a karty Změny rozměrů panelů...53 Minimalizace a obnovení panelů a karet...53 Další možnosti Otevření existujícího projektu Navigátor a jeho ikony Úprava nastavení prostředí General obecná nastavení Editor nastavení editoru Karta General...59 Braces Matching...59 Camel Case Behavior...59 Search...59 Karta Folding...60 Karta Formatting...60 Karta Code Completion...61 Language...61 Karta Code Templates...62 Karta Hints...63 Karta Highlighting...63 Karta Macros...63 Karta OnSave...64 Karta Spellchecker Fonts & Colors nastavení písma a barev Nastavení písma...64 Vybarvení komentářů Keymap klávesové zkratky Java nastavení pro Javu Team Karta Action Items Appearance nastavení vzhledu Karta Document Tabs...68 Karta Windows...69 Karta Look and Feel Miscellaneous zbylá nastavení Karta CSS Preprocessors...70 Karta Diff...70 Karta Files...70 Karta Output...70 Karta Terminal Nastavení panelů nástrojů Export a import nastavení Export...73 Import Shrnutí co jsme se naučili Projekty v NetBeans Library Balíčky programů tohoto dílu Balíčková struktura knihovny Složky se zdrojovými soubory Balíčky na kartě projektů Práce s balíčky Vytvoření nového balíčku...81 Přesun tříd mezi balíčky...82 Importy z vlastního balíčku G_UOA2_J8_ZLOM.doc, verze , uloženo: pá :35 Strana 9 z 651

10 10 Java 8 Úvod do objektové architektury pro mírně pokročilé Přejmenování balíčku Překlad a sestavení projektu Programátorská dokumentace (API) Dokumentace při psaní kódu Možnosti okna dokumentace Samostatná karta dokumentace Vytvoření dokumentace projektu Karta souborů Vlastnosti projektu Stránka Sources Stránka Libraries Stránka Compiling Stránka Documenting Stránka Run Přejmenování projektu Definice projektu jako knihovny Shrnutí co jsme se naučili Vytváříme nový projekt AHA Vytvoření nového projektu Spuštění aplikace Vytvoření kopie třídy Nápověda při psaní kódu Zadání spouštěcí třídy projektu Spouštěcí konfigurace Vytvoření a spuštění aplikace Paralelní spuštění více aplikací Shrnutí co jsme se naučili Práce na připraveném projektu Elevator Poloprázdná třída a metoda Zadání Analýza problému Sjednocení různých řešení Implementované interfejsy Okolí Konstruktory Dva přístupy k řešení problému Potřebné metody Interfejs IElevator Vzorový projekt Testovací třída Přizpůsobující se společná testovací třída Inicializace a finalizace bloku testů v dané třídě Třídy jako objekty class-objekt třídy Zafixování testované třídy Vynechání konkrétního testu Spuštění a vyhodnocení testů Definice vlastní třídy Atributy Konstruktory a metody interfejsů IPaintable a IMovable Interfejs a data Postup při návrhu metod deklarovaných v interfejsu IElevator Metoda goto(int) předehra Metody floor2y(int) a y2floor(int) G_UOA2_J8_ZLOM.doc verze , uloženo: pá :35 Strana 10 z 651

11 Podrobný obsah 11 Metoda goto(int) realizace Metoda cometo(imovable) Metoda enter(imovable) Metody exitleft() a exitright() Test převozu pasažéra Metody transportright(imovable,int) a transportleft(imovable,int) Porovnání řešení Práce s více soubory Shrnutí co jsme se naučili Spolupráce projektů Vehicle Zadání Vytvoření nové třídy Zakomentování a odkomentování části kódu Dokumentace balíčku Použití frameworku či knihovny Třída IO jako aplikace návrhového vzoru Fasáda Zkopírování zdrojových souborů Podporované způsoby připojení potřebného projektu Připojení celého potřebného projektu Přidání JAR-souboru mezi knihovny Přidání propojení na knihovnu Oprava špatného nastavení Nevytvořený JAR-soubor Přestěhování souborů na jiné místo disku Poloautomatická implementace interfejsu Konstruktory Poloautomatická generace konstruktoru Poloautomatické doplnění komentářových značek Doplnění těl konstruktorů Dokončení těla konstruktoru Výraz lokální proměnná Lokální proměnná atribut Rychlý test Historie změn Podrobnosti o barvách Shrnutí co jsme se naučili Testovací třída VehicleTest, Robot Vytvoření Obsah testovací třídy Inicializace a finalizace Těla poloprázdných metod Šablona testovací třídy Parametry 7.4 Využití služeb třídy IndentingReporter Popis některých metod Použití odsazení Získání názvu spouštěného testu Spuštění testů Spuštění konkrétního testu Spuštění všech testů dané třídy Spuštění všech testů projektu Definice inicializačních a finalizačních metod Získání správce plátna Lokální proměnná statická konstanta G_UOA2_J8_ZLOM.doc, verze , uloženo: pá :35 Strana 11 z 651

12 12 Java 8 Úvod do objektové architektury pro mírně pokročilé 7.7 Nechtěné automatické doplnění identifikátoru Vytvoření požadovaných testů Test funkce přípravku Test implementovaných metod Definice přístupových metod testované třídy Lokalizace souboru v projektu Přejmenování třídy spolu s testem Přesun do nového balíčku Vyhledávání a nahrazování textu Shrnutí co jsme se naučili Ladění programů Robot Metody ladění Kontrolní tisky Používání ladícího programu Nastavení zarážky v řádku kódu Možnosti krokování Zobrazování dat Zásobník volání Zarážka na entitě Trvalost zarážek Záložky (bookmark) Úkoly Shrnutí co jsme se naučili Část II: Vylepšování architektury Program ve výjimečné situaci Co to jsou výjimky Nejdůležitější výjimky Vyhození výjimky Výjimky a nedosažitelný kód Co výjimky umí getmessage() tostring() printstacktrace() printstacktrace(printstream) Hierarchie dědění výjimek Zachycení vyhozené výjimky Analýza rekurzivní metody Několik současně odchytávaných výjimek Společná reakce na několik výjimek Společný úklid blok finally Testování správného vyhození výjimky Tělo metody testující správné vyhození výjimky Specifikace očekávané výjimky v anotaci Definice vlastních výjimek Kontrolované výjimky Převedení kontrolované výjimky na nekontrolovanou Informace o skutečném původci výjimky Ověřování podmínek příkaz assert Design by Contract Shrnutí co jsme se naučili G_UOA2_J8_ZLOM.doc verze , uloženo: pá :35 Strana 12 z 651

13 Podrobný obsah Návrhový vzor Tovární metoda Motivace Jak na to Použití v projektu s výtahy Programování proti rozhraní Použití tovární třídy v projektu s vozidly Definice interfejsu IVehicle Testovací třída VehicleTest Možnost výběru testované třídy Přepínání mezi pevně zadanou a volitelnou tovární třídou Možnost využití konstruktoru třídy Shrnutí co jsme se naučili Návrhový vzor Stav Robot Řešený problém Vozidla na šachovnici Společné rozhraní otočných vozidel IVehicle Různé chování v závislosti na směru Jednostavové třídy Čtyřstavová třída Stavové rozhraní Definice jednostavových tříd Definice vícestavové třídy Testovací třída Zásady použití vzoru Stav Shrnutí co jsme se naučili Návrhový vzor Stavitel RingBuilder Řešený problém Dvě skupiny požadavků na segment Definice segmentů Nastavení barvy Konstruktory Test správného vytvoření segmentů Přidání následníka Potřebné atributy Zbylé metody Zdánlivý problém s viditelností segmentů Definice dopravního okruhu Správa vytvořeného okruhu Zobrazení okruhu Přizpůsobení se změně kroku plátna Oznámení startovního segmentu Konstrukce okruhu Návrhový vzor Stavitel Definice stavitele RingBuilder Atributy Konstruktor Start stavby okruhu Zřetězení volání metod Pokračování ve stavbě okruhu Ukončení stavby okruhu Test stavby okruhů Ověřování podmínek G_UOA2_J8_ZLOM.doc, verze , uloženo: pá :35 Strana 13 z 651

14 14 Java 8 Úvod do objektové architektury pro mírně pokročilé 12.9 Test vyhazování výjimky Dokončení definice okruhu Nastavení políčkové pozice Prozrazení políčkového rozměru Přizpůsobení se změně kroku plátna Extrakce části kódu do samostatné metody Test vybudovaného okruhu Továrna na okruhy Shrnutí co jsme se naučili Návrhový vzor Dekorátor SmoothVehicle Modifikace chování skupiny objektů Plynule posuvná vozidla Definice dekorující třídy Delegát a konstruktory Implementace metod pro porovnání objektů Implementace zbylých metod Ještě trochu kosmetiky Definice těla metody goforward() Doplnění metody delegující zodpovědnost na atribut Přidání vlastnosti Dokončení úprav Test Princip vzoru Dekorátor Shrnutí co jsme se naučili Implicitní implementace RingVehicle, ControlledVehicle Dekorátor přidávající další funkčnost Třída Multimover a interfejs IMultiMovable Definice třídy RingVehicle Implicitní definice metod interfejsu Statické metody definované v interfejsu Šablona interfejsů Čím se liší interfejs od třídy Výhody implicitní implementace Úprava interfejsu IVehicle Doplnění konstruktorů továrních objektů Rozšíření interfejsu IVehicleFactory Test Pokračování definice přesunu Vypuštění vozidla na okruh Test Vozidlo ovládané z klávesnice Návrhový vzor Adaptér (Adapter) Návrh třídy ControlledVehicle Přebití implicitních definic Testování Mechanismus reakce na klávesnici Shrnutí co jsme se naučili Generické datové typy a metody Motivace Generické a parametrizované datové typy G_UOA2_J8_ZLOM.doc verze , uloženo: pá :35 Strana 14 z 651

15 Podrobný obsah Definice generických typů Použití generických typů Rizika nepoužití typových parametrů Varování překladače a jejich potlačení Proč vypínat varování Překlad generických datových typů a očišťování Omezení typových atributů na instanční členy Generické metody Shrnutí co jsme se naučili Pokročilejší práce s typovými parametry Omezení typových parametrů Typové parametry s více předky Potomci a předci generických typů Žolíky Příklad: datový typ Interval<T extends Comparable<? super T>> Ternární operátor?: podmíněný výraz Definice parametrizovaného datového typu Grupy Deklarace IGroup<B, G extends IGroup<B, G>> Definice třídy DirectionGroup Na co potřebujeme interfejs IGroup Shrnutí co jsme se naučili Funkční interfejsy a lambda-výrazy Motivace Funkční interfejs (functional interface) Lambda-výrazy Použití lambda výrazů v programu Předčasné zhasínání Metoda stopblinking() Modifikátor volatile a synchronizace vláken Test ukončení neexistujícího blikání testwrongstopblinking() Reakce na ukončení blikání Test správné reakce na předčasné spuštění Test korektního ukončení blikání teststoppedmovingandblinking() Alternativní definice funkčních objektů Světlo umožňující ovlivnit tvar žárovky Získání žárovky Požadavky na typ žárovky Uložení žárovky Uložení továrního objektu Upravená definice třídy Light Testy Generická verze třídy třída LightG <B extends IChangeable & IColorable> Důsledky definice třídy LightG jako generické Sjednocení definic otoček robota Shrnutí co jsme se naučili Rekurzivní volání Princip Přímá a nepřímá rekurze Přeplnění zásobníku návratových adres Pojezdy tam zpět metoda zigzag G_UOA2_J8_ZLOM.doc, verze , uloženo: pá :35 Strana 15 z 651

16 16 Java 8 Úvod do objektové architektury pro mírně pokročilé 1. Úkol Otočka Délka pojezdu Cílová pozice Předání metody multipřesouvači Odbočka: rekurze versus zpětné volání Test správného naprogramování přesunu Objíždění čtverce Shrnutí co jsme se naučili Interní datové typy Motivace Terminologie Společné charakteristiky interních typů Použití Pomocný soukromý typ Objekt znající útroby a implementující veřejné rozhraní Sdružení souvisejících typů Globální interní (členské) datové typy Vnořené datové typy Pomocná vnořená přepravka Řešený problém První nástřel: poloveřejná přepravka Test Co je na předchozím řešení nešikovné Vnořená tovární třída Výhody a nevýhody jednotlivých možností Vnitřní třídy Blikající světlo s vnitřní třídou Hraniční obdélník objektu na plátně Lokální třídy Pojmenované lokální třídy Anonymní třídy Blikající světlo s anonymní třídou Použití anonymních tříd Shrnutí co jsme se naučili Kontejnery a datovody Kontejnery Zvláštnosti programových kontejnerů Přepravky Pole (array) Kolekce (collection) Mapy, slovníky (map, dictionary) Motivace pro zavedení datovodů Deklarativní a imperativní styl programování Datovody (streams) Druhy operací Práce datovodu Vytváření datovodů z kolekcí a polí Použití datovodu blikající světla Třída StreamTest Pomocná metoda streamblink(stream<light>,string) Porovnání sériového a paralelního datovodu Použití metody foreach(runnable) Použití filtrů G_UOA2_J8_ZLOM.doc verze , uloženo: pá :35 Strana 16 z 651

17 Podrobný obsah Řazení objektů v datovodu Složitější příklad Zadání Rozbor Test metoda testmovementsstepobj() Vytvoření a zpracování proudu kroků metoda movementsstepobj(string, Collection<? extends IChangeable>) Přesun objektů v daném kroku metoda moveinstepallobjects(string, Collection<? extends IChangeable>) Definice metod plynulé verze Konverze prvků v datovodu Metoda createanddrive(ivehiclefactory, String, Position...) Pomocná metoda goindirections(string) Test Vytvoření vlastního datovodu Shrnutí co jsme se naučili Část III: Dědění implementace Podrobnosti o konstruktorech tříd a instancí Opakování: co víme o konstruktorech instancí Zavádění třídy java.lang.classloader Statický konstruktor konstruktor třídy Instanční inicializační blok Dvojitost těla konstruktoru instancí Příklad Statický konstruktor, konstruktor třídy Důležitá pravidla : Úvodní statický inicializační blok : Předčasné použití atributu : Nekorektní použití metod : Předčasné použití konstanty : Nekorektní volání konstruktoru Doporučení: jediný statický inicializační blok Konstruktor instancí Roztroušená část : Úvodní instanční inicializační blok : Deklarace konstanty loaded : Inicializační výpočet : Použití this : Závěrečný blok Tělo osloveného konstruktoru : Bezparametrický konstruktor : Jednoparametrický konstruktor : Dvouparametrický konstruktor : Tříparametrický konstruktor Experimenty Shrnutí co jsme se naučili Úvod do dědění implementace: Mother Daughter Granddaughter Úvodní poznámky Definice dceřiné třídy Rodičovský podobjekt Konstruktor G_UOA2_J8_ZLOM.doc, verze , uloženo: pá :35 Strana 17 z 651

18 18 Java 8 Úvod do objektové architektury pro mírně pokročilé Konstrukce rodičovského podobjektu Přetížené verze konstruktorů použití super this Test Konstruktory rodiče a potomka Emulace dědění dekorátorem Přípony názvů typů v přípravku Demonstrace chování konstruktorů Konstrukce podpisu Zpráva o zavedení třídy Demonstrace Rodičovský podobjekt je abstrakce Vytváření instancí tříd využívajících dekorátor Chráněné členy modifikátor přístupu protected Zákaz vytváření potomků třídy Shrnutí co jsme se naučili Zakrývání atributů a metod Posílání zpráv a volání metod Dědění metod Zděděné, dále neupravované metody Zděděné metody, pro něž potomek definuje lepší implementaci Kompatibilita signatur Zakrývání metod předka (method hiding) Metody, které není možno v potomku zakrýt či přebít modifikátor final Třídy, které nemohou mít potomky Zakrývání atributů předka Emulace zakrývání v D-třídách Metody nově definované v potomku Staticky dynamicky typované jazyky Proč je situace jednoduchá jen zdánlivě Zakrývání interních datových typů Závěr Shrnutí co jsme se naučili Virtuální metody a jejich přebíjení Virtuální metody a jejich přebíjení Časná a pozdní vazba Virtuální metody Které metody jsou v Javě virtuální Chování virtuálních metod Emulace virtuálních metod v dekorátoru Zdokonalení třídy Square Přebití metody copy() Problémy s nastavováním velikosti První návrh definice metody setsize(int,int) Test prvního návrhu Oprava Co se nám na dědění nelíbí Návrhový vzor Šablonová metoda (Template method) Princip Implicitní metody interfejsů Metoda tostring() Shrnutí co jsme se naučili Pasti a propasti dědění implementace G_UOA2_J8_ZLOM.doc verze , uloženo: pá :35 Strana 18 z 651

19 Podrobný obsah Třída XCRectangle Testovací třída Podklady pro vlastní řešení Definice konstruktorů Definice tovární třídy Metoda paint(painter) Změny pozice a velikosti Upravená podoba definice třídy Co je na uvedeném řešení nevhodné Řešení definicí atributu Řešení sloučením dědění a dekorátoru Typové parametry Předci Statické členy Instanční členy Samostatná úloha: Terč Virtuální metody v konstruktoru Definice třídy Aureole Test objektů se svatozáří Řešení 1: Změna řešení Řešení 2: Devirtualizace metody Řešení 3: Využití rodičovské verze metody Řešení 4: Definice ekvivalentní soukromé metody Shrnutí co jsme se naučili Vytváříme rodičovskou třídu ARobot Abstraktní metody a třídy Abstraktní a konkrétní metody Interfejsy Třídy Abstraktní a konkrétní třídy Účel abstraktních tříd Účel abstraktních metod Proč společný rodič Návrhový vzor Stav s rodičovskou třídou Vytvoření prázdného společného rodiče Příprava potomků Členy třídy Konstantní atributy instancí Konstruktory Metody instancí Ověření regresním testem Rodičovská třída segmentů okruhu Specifikace předků IRingSegment IChangeable copy() IRingBuildSegment Společný abstraktní rodič Definice potomků Návrhový vzor Adaptér podruhé Společný rodič dekorátorů Použití ve třídě ControlledVehicle Společný rodič výtahů Shrnutí co jsme se naučili G_UOA2_J8_ZLOM.doc, verze , uloženo: pá :35 Strana 19 z 651

úvod do objektové architektury pro mírně pokročilé Rudolf Pecinovský 2014

úvod do objektové architektury pro mírně pokročilé Rudolf Pecinovský 2014 44G UOA2 J8 ZLOM.doc verze 3.01.5173, Ukázka uloženo: knihy pá 23.1.15 z internetového 10:35 knihkupectví www.kosmas.cz Strana 2 z 651 Java 8 úvod do objektové architektury pro mírně pokročilé Rudolf Pecinovský

Více

44G UOA2 J8 ZLOM.doc verze , uloženo: pá :35 Strana 2 z 651

44G UOA2 J8 ZLOM.doc verze , uloženo: pá :35 Strana 2 z 651 44G UOA2 J8 ZLOM.doc verze 3.01.5173, uloženo: pá 23.1.15 10:35 Strana 2 z 651 Java 8 úvod do objektové architektury pro mírně pokročilé Rudolf Pecinovský 2014 44G_UOA2_J8_ZLOM.doc verze 3.01.5173, uloženo:

Více

44G UOA2 J8 ZLOM.doc verze , uloženo: pá :35 Strana 2 z 651

44G UOA2 J8 ZLOM.doc verze , uloženo: pá :35 Strana 2 z 651 44G UOA2 J8 ZLOM.doc verze 3.01.5173, uloženo: pá 23.1.15 10:35 Strana 2 z 651 Java 8 úvod do objektové architektury pro mírně pokročilé Rudolf Pecinovský 2014 44G_UOA2_J8_ZLOM.doc verze 3.01.5173, uloženo:

Více

44G UOA2 J8 ZLOM.doc verze , uloženo: pá :35 Strana 2 z 651

44G UOA2 J8 ZLOM.doc verze , uloženo: pá :35 Strana 2 z 651 44G UOA2 J8 ZLOM.doc verze 3.01.5173, uloženo: pá 23.1.15 10:35 Strana 2 z 651 Java 8 úvod do objektové architektury pro mírně pokročilé Rudolf Pecinovský 2014 44G_UOA2_J8_ZLOM.doc verze 3.01.5173, uloženo:

Více

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. Ú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 Ú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 KAPITOLA 1 Na úvod o Javě 15 Počítačový program 15 Vysokoúrovňový programovací

Více

knihovna programátora

knihovna programátora knihovna programátora Učebnice pro ty, kteří nechtějí zůstat obyčejnými kodéry, ale chtějí se stát špičkovými architekty Postupuje podle metodiky Architecture First Soustředí se na návrh programů a osvojení

Více

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována a šířena

Více

knihovna programátora

knihovna programátora knihovna programátora Učebnice pro ty, kteří nechtějí zůstat obyčejnými kodéry, ale chtějí se stát špičkovými architekty Postupuje podle metodiky Architecture First Soustředí se na návrh programů a osvojení

Více

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

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

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

OOP. Verze : 365 NS, odstavců, slov, znaků, bajtů. a Java 8

OOP. Verze : 365 NS, odstavců, slov, znaků, bajtů. a Java 8 Verze 15.57.5745 2015-10-24: 365 NS, 8 253 odstavců, 89 019 slov, 657 239 znaků, 2 963 968 bajtů OOP a Java 8 Návrh a vývoj složitějšího projektu vyhovujícího zadanému rámci Rudolf Pecinovský 49R_Adventura_TXT_ZLOM.doc

Více

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

10 Balíčky, grafické znázornění tříd, základy zapozdření 10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému

Více

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

ČÁST 1. Zahřívací kolo. Co je a k čemu je návrhový vzor 33 Stručný obsah Část 1: Zahřívací kolo Kapitola 1 Co je a k čemu je návrhový vzor 33 Kapitola 2 Zásady objektově orientovaného programování 39 Kapitola 3 Co konstruktor neumí (Jednoduchá tovární metoda Simple

Více

OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů... 8-1 8.2 Standardně zavedené proudy... 8-1 8.

OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů... 8-1 8.2 Standardně zavedené proudy... 8-1 8. David MATOUŠEK OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PØÍKLADECH Praha 2011 David Matoušek Objektové programování v C++ v pøíkladech Lektoroval Ing. Bohumil Brtník, Ph.D. Bez pøedchozího písemného svolení nakladatelství

Více

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

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20 Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................

Více

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

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 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í

Více

Microsoft Access tvorba databáze jednoduše

Microsoft Access tvorba databáze jednoduše Microsoft Access tvorba databáze jednoduše Časový rozsah: 2 dny (9:00-16:00) Cena: 3300 Kč + DPH Úvod do relačních databází. Funkce databázových objektů Microsoft Access. Návrh tabulek, definice základních

Více

11.5.2012. 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

11.5.2012. 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 Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií

Více

Základy objektové orientace I. Únor 2010

Základy objektové orientace I. Únor 2010 Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných

Více

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13 Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace

Více

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz O autorovi Rudolf Pecinovský patří ke špičkovým odborníkům na výuku programování. Publikoval již 39 učebnic, které byly přeloženy do pěti jazyků,

Více

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

Štěpán Svačina, Miroslav Souček, Alena Šmahelová, Richard Češka METABOLICKÝ SYNDROM. Nové postupy

Štěpán Svačina, Miroslav Souček, Alena Šmahelová, Richard Češka METABOLICKÝ SYNDROM. Nové postupy Štěpán Svačina, Miroslav Souček, Alena Šmahelová, Richard Češka METABOLICKÝ SYNDROM Nové postupy Štěpán Svačina, Miroslav Souček, Alena Šmahelová, Richard Češka METABOLICKÝ SYNDROM Nové postupy Grada

Více

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

Quo vadis programování? Automatizace vyhodnocování studentských úloh Vaše jistota na trhu IT Quo vadis programování? Automatizace vyhodnocování studentských úloh Rudolf PECINOVSKÝ rudolf@pecinovsky.cz Vladimír Oraný vladimir.orany@gmail.com Vaše jistota na trhu IT Obsah

Více

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod 11. 1. Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod 11. 1. Vítejte v Ruby 15. O autorovi 9 Poděkování 9 Začínáme programovat v Ruby on Rails 9 O autorovi 9 Poděkování 9 Úvod 11 Komu je kniha určena 11 Jak je kniha uspořádána 11 Co ke knize potřebujete 12 Konvence 12 Zdrojový kód 13 Poznámka redakce českého

Více

Dědění, polymorfismus

Dědění, polymorfismus Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá

Více

Objektové programování

Objektové programování Objektové programování - přináší nové možnosti a styl programování - vytváří nový datový typ, který umí vše co standardní datové typy + to co ho naučíme - překladač se k tomuto typu chová stejně jako k

Více

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

Vyřešené teoretické otázky do OOP ( ) Vyřešené teoretické otázky do OOP (16. 1. 2013) 1) Vyjmenujte v historickém pořadí hlavní programovací paradigmata a stručně charakterizujte každé paradigma. a) Naivní chaotičnost, špatná syntaxe a sémantika

Více

Obsah. Kapitola 1. Kapitola 2

Obsah. Kapitola 1. Kapitola 2 Stručný obsah Předmluva...17 Úvod...19 Začínáme...25 Koncepce objektově orientovaného programování...51 Základy jazyka...59 Třídy a objekty...91 Rozhraní a dědičnost... 133 Genericita... 155 Balíčky...

Více

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

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

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

11 Diagram tříd, asociace, dědičnost, abstraktní třídy 11 Diagram tříd, asociace, dědičnost, abstraktní třídy Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost diagramům tříd, asociaci,

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/ UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok

Více

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

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

1. Dědičnost a polymorfismus

1. Dědičnost a polymorfismus 1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář

Více

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: 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í Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Vzdělávací oblast Informatika a informační a komunikační technologie pro vzdělávací obor Programování

Více

Stručný obsah. Úvod 15. KAPITOLA 1 První kroky v systému Windows 8 19. KAPITOLA 2 Hlavní panel a jeho možnosti 41. KAPITOLA 3 Soubory a složky 51

Stručný obsah. Úvod 15. KAPITOLA 1 První kroky v systému Windows 8 19. KAPITOLA 2 Hlavní panel a jeho možnosti 41. KAPITOLA 3 Soubory a složky 51 Stručný obsah Úvod 15 KAPITOLA 1 První kroky v systému Windows 8 19 KAPITOLA 2 Hlavní panel a jeho možnosti 41 KAPITOLA 3 Soubory a složky 51 KAPITOLA 4 Práce se schránkou 85 KAPITOLA 5 Osobní přizpůsobení

Více

1. Programování proti rozhraní

1. Programování proti rozhraní 1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

2.2 Acronis True Image 19

2.2 Acronis True Image 19 Obsah Kniha první Acronis True Image 9.0 1. Úvod 15 1.1 Co je Acronis True Image? 15 1.2 Co je nového v aplikaci Acronis True Image 9.0? 15 1.3 Jaký je rozdíl mezi zálohami a diskovými obrazy disků/diskových

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Úvodem... 9 Kapitola 1 Karetních

Úvodem... 9 Kapitola 1 Karetních Úvodem... 9 Základní znalosti o programovacích jazycích...10 Jazyk C# a platforma.net...10 Visual C# 2010 Express...11 Instalace platformy.net 4.0 a Visual C# 2010 Express...11 Zdrojový kód aplikací...12

Více

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Stručný obsah. Část I. Část II. Část III. Úvod do vývoje v prostředí Visual Studio 25. Návrh uživatelského rozhraní 127

Stručný obsah. Část I. Část II. Část III. Úvod do vývoje v prostředí Visual Studio 25. Návrh uživatelského rozhraní 127 Stručný obsah Část I Úvod do vývoje v prostředí Visual Studio 25 1. Možnosti vývoje v jazyce Visual Basic a Windows Store 27 2. Integrované vývojové prostředí Visual Studio 41 3. Vytvoření první aplikace

Více

Vaše jistota na trhu IT. Balíčky. Rudolf Pecinovský rudolf@pecinovsky.cz

Vaše jistota na trhu IT. Balíčky. Rudolf Pecinovský rudolf@pecinovsky.cz Vaše jistota na trhu IT Balíčky Rudolf Pecinovský rudolf@pecinovsky.cz Problémy velkých aplikací Rozsáhlé aplikace používají velké množství názvů objektů a jejich zpráv, které různé části programu sdílí

Více

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

Programování v C++ 2, 4. cvičení Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva

Více

Kurzy, Podrobnější informace najdete na Dotazy a přihlášky můžete posílat na

Kurzy, Podrobnější informace najdete na  Dotazy a přihlášky můžete posílat na O autorovi Rudolf Pecinovský patří ke špičkovým odborníkům na výuku programování. Publikoval již 39 učebnic, které byly přeloženy do pěti jazyků, a nepřeberné množství článků a příspěvků na odborných konferencích.

Více

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

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

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

Kurzy, Podrobnější informace najdete na www.amaio.cz Dotazy a přihlášky můžete posílat na kurzy@amaio.cz

Kurzy, Podrobnější informace najdete na www.amaio.cz Dotazy a přihlášky můžete posílat na kurzy@amaio.cz O autorovi Rudolf Pecinovský patří ke špičkovým odborníkům na výuku programování. Publikoval již 39 učebnic, které byly přeloženy do pěti jazyků, a nepřeberné množství článků a příspěvků na odborných konferencích.

Více

Jak využít kancelářské aplikace ve výuce MS Office 2007. Gymnázium a SOŠ Orlová 14. 11. 2007 Ing. Marta Slawinská

Jak využít kancelářské aplikace ve výuce MS Office 2007. Gymnázium a SOŠ Orlová 14. 11. 2007 Ing. Marta Slawinská Jak využít kancelářské aplikace ve výuce MS Office 2007 Gymnázium a SOŠ Orlová 14. 11. 2007 Ing. Marta Slawinská Cíle školení Seznámit se s novým uživatelským rozhraním MS Office 2007 a jeho specifikacemi

Více

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd 7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová Programové konvence, dokumentace a ladění 2. přednáška Alena Buchalcevová Proč dodržovat programové konvence? velkou část životního cyklu softwaru tvoří údržba údržbu provádí většinou někdo jiný než autor

Více

ČÁST 1. Základy 32bitového programování ve Windows

ČÁST 1. Základy 32bitového programování ve Windows Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25

Více

Soudní znalectví v oboru zdravotnictví

Soudní znalectví v oboru zdravotnictví Miroslav Hirt a kolektiv Příručka je určena k základnímu vzdělání uchazeče o jmenování znalcem z oboru zdravotnictví, ale neměla by chybět ani v knihovně znalců zkušených. Jsou v ní uvedena všechna práva

Více

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

IB111 Programování a algoritmizace. Objektově orientované programování (OOP) IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,

Více

Obsah KAPITOLA 1 Několik slov o Wordu 2007 9

Obsah KAPITOLA 1 Několik slov o Wordu 2007 9 KAPITOLA 1 Několik slov o Wordu 2007 9 Pás karet 10 Další možnosti ovládání Wordu 12 Nastavení Wordu 13 Ovládání Wordu 2007 klávesnicí 14 KAPITOLA 2 Základní operace 17 Základní nastavení 17 Rozdělení

Více

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

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta

Více

Obsah. O auto ro vi 13 V ěnování 14 Poděkování 15 Z p ětn á vazba od čtenářů 16. P rogram ování pro M in ecraft v Jávě 17

Obsah. O auto ro vi 13 V ěnování 14 Poděkování 15 Z p ětn á vazba od čtenářů 16. P rogram ování pro M in ecraft v Jávě 17 O auto ro vi 13 V ěnování 14 Poděkování 15 Z p ětn á vazba od čtenářů 16 Zdrojové kódy ke knize 16 Errata 16 KAPITOLA 1 P rogram ování pro M in ecraft v Jávě 17 Příprava serveru Minecraftu 18 Řešení problémů

Více

OBSAH. Kontrola aktualizací... 18

OBSAH. Kontrola aktualizací... 18 2013 Albatros Media a. s. Toto CD je součástí knihy Adobe InDesign CS6, Oficiální výukový kurz a je samostatně neprodejné. Všechna práva vyhrazena. Nelegální kopie tohoto disku jsou zakázány. K2059_potisk.indd

Více

Nástroje na vývoj aplikací pro ios Trocha motivace na úvod Co budete potřebovat Co když nemáte k dispozici počítač s macos? Vývojové prostředí Xcode

Nástroje na vývoj aplikací pro ios Trocha motivace na úvod Co budete potřebovat Co když nemáte k dispozici počítač s macos? Vývojové prostředí Xcode KAPITOLA 1 Nástroje na vývoj aplikací pro ios 11 Trocha motivace na úvod 11 Co budete potřebovat 11 Co když nemáte k dispozici počítač s macos? 12 Vývojové prostředí Xcode 14 Průběžná aktualizace 16 První

Více

Josef Pecinovský PowerPoint 2007

Josef Pecinovský PowerPoint 2007 Josef Pecinovský PowerPoint 2007 Jak na PowerPoint 2007 v rekordním čase Josef Pecinovský Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou 3054. publikaci Odpovědný redaktor Karel Samohýl

Více

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ Střední průmyslová škola a Střední odborné učiliště, Trutnov, Školní 101, tel.: +420 499 813 071, fax: +420 499 814 729, e-mail: skola@spssoutu.cz, URL: http://www.spssoutu.cz Osnova kurzu OBSLUHA PC ZÁKLADNÍ

Více

Programování v jazyce C a C++

Programování v jazyce C a C++ Programování v jazyce C a C++ Příklad na tvorbu třídy Richter 1 4. prosince 2017 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno Dvourozměrné pole pomocí tříd Zadání Navrhněte a napište třídu pro realizace

Více

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Windows 7 kompletní příručka Bohdan Cafourek Vydala Grada Publishing a.s. U Průhonu 22, Praha 7 jako svou 4211. publikaci Odpovědný redaktor Petr

Více

ZŠ ÚnO, Bratří Čapků 1332

ZŠ ÚnO, Bratří Čapků 1332 MS Excel 2002 Grada - po spuštění je třeba kliknout do středu obrazovky - v dalším dialogovém okně (Přihlášení) vybrat uživatele, zřídit Nového uživatele nebo zvolit variantu Bez přihlášení (pro anonymní

Více

Abstraktní datové typy: zásobník

Abstraktní datové typy: zásobník Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní

Více

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

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

Komu je tato kniha určena? Jak je kniha uspořádána? Konvence použité v té to knize. Část i základy Microsoft Windows XP Professional

Komu je tato kniha určena? Jak je kniha uspořádána? Konvence použité v té to knize. Část i základy Microsoft Windows XP Professional Obsah Poděkování Úvod Komu je tato kniha určena? Jak je kniha uspořádána? Konvence použité v té to knize podpora xix xxi xxi xxii xxiii xxiv Část i základy Microsoft Windows XP Professional KAPITOLA 1

Více

Předmluva 11 Typografická konvence použitá v knize 12. 1 Úvod do Excelu 2003 13

Předmluva 11 Typografická konvence použitá v knize 12. 1 Úvod do Excelu 2003 13 Předmluva 11 Typografická konvence použitá v knize 12 1 Úvod do Excelu 2003 13 Spuštění a ukončení Excelu 14 Spuštění Excelu 14 Ukončení práce s Excelem 15 Přepínání mezi otevřenými sešity 16 Oprava aplikace

Více

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

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 1 4 5 Oracle průvodce správou,

Více

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.

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. 13 Rozhraní, výjimky Studijní cíl 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. Doba nutná k nastudování 2 2,5 hodiny

Více

Obsah. 1 Úvod do Visia 2003 15. 2 Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13

Obsah. 1 Úvod do Visia 2003 15. 2 Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13 Předmluva 11 Typografická konvence použitá v knize 13 1 Úvod do Visia 2003 15 Visio se představuje 16 Výchozí podmínky 16 Spuštění a ukončení Visia 18 Způsoby spuštění Visia 18 Ukončení práce s Visiem

Více

Microsoft Word základní

Microsoft Word základní Časový rozsah: 2 dny (8:30-14:00) Cena: 2400 Kč + DPH Microsoft Word základní Tvorba kratších dokumentů se zaměřením na korespondenci. Základy tvorby a formátování písma a odstavců. Vkládání tabulek a

Více

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

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování 1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy

Více

Virtuální metody - polymorfizmus

Virtuální metody - polymorfizmus - polymorfizmus - potomka lze použít v místě, kde je možné použít předka - v dosud probraných situacích byly vždy volány funkce, které jsou známy již v době překladu. V situaci, kdy v době překladu není

Více

Čistírny odpadních vod

Čistírny odpadních vod JAN SOJKA 10 let kvality pro Vás 2002 2012 10 tisíc spokojených zákazníků 159 čističky septiky jímky a žumpy nádrže na dešťovou vodu vodoměrné šachty čerpací jímky konzultace projekty stavební povolení

Více

Šablonové metaprogramování v C++ Miroslav Virius KSI FJFI ČVUT

Šablonové metaprogramování v C++ Miroslav Virius KSI FJFI ČVUT Šablonové metaprogramování v C++ Miroslav Virius KSI FJFI ČVUT Šablonové (generické) metaprogramování Šablona v C++, genericita v jiných jazycích Výpočetní úplnost Problémy Příklad Porovnání s klasickým

Více

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

Ukázka knihy z internetového knihkupectví

Ukázka knihy z internetového knihkupectví Ukázka knihy z internetového knihkupectví www.kosmas.cz Josef Pecinovský Jak na Windows Vista v rekordním čase Josef Pecinovský Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou 3053. publikaci

Více

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

Programování II. Abstraktní třída Vícenásobná dědičnost 2018/19 Programování II Abstraktní třída Vícenásobná dědičnost 2018/19 Osnova přednášky Polymorfismus - důsledky. Abstraktní třída. Vícenásobná dědičnost. Polymorfismus - důsledky Polymorfismus Polymorfismus je

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

typová konverze typová inference

typová konverze typová inference Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie

Více

Jazyky C a C++ kompletní průvodce 2., aktualizované vydání. Miroslav Virius

Jazyky C a C++ kompletní průvodce 2., aktualizované vydání. Miroslav Virius Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována a šířena v papírové, elektronické či jiné podobě bez předchozího

Více

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.

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. 23. Třídy, generické třídy, instance, skládání, statické metody a proměnné. Zapouzdření, konstruktory, konzistence objektu, zpřístupnění vnitřní implementace, modifikátory public a private. Polymorfismus,

Více

Kdy použít program Microsoft Publisher Desktop Publishing 12 Proces návrhu 12. Základy práce 15. Panely nástrojů 15

Kdy použít program Microsoft Publisher Desktop Publishing 12 Proces návrhu 12. Základy práce 15. Panely nástrojů 15 Obsah Úvod 11 Kdy použít program Microsoft Publisher 2003 11 Desktop Publishing 12 Proces návrhu 12 Scénář 12 Začínáme 13 KAPITOLA 1 Základy práce 15 Panely nástrojů 15 Záhlaví okna 15 Panel nabídek 15

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

Více

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013 Předměty Algoritmizace a programování Seminář z programování Verze pro akademický rok 2012/2013 Verze pro akademický rok 2012/2013 1 Přednášky Jiřina Královcová MTI, přízemí budovy A Tel: 48 53 53 521

Více

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE KAPITOLA 1 Vývojové prostředí a výběr frameworku 15 PhoneGap 15 jquery

Více

ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení

Více

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

Programování v C++ 1, 5. cvičení Programování v C++ 1, 5. cvičení konstruktory, nevirtuální dědění 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené

Více

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

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 KAPITOLA 1 Co budeme potřebovat 11 Co knihovna jquery nabízí 11 Editor zdrojového kódu 12 Webový server 12 Software pro ladění

Více

Osnova kurzu OBSLUHA PC ZAMĚŘENÍ PRÁCE S TEXTEM. pilotního projektu v rámci I. Etapy realizace SIPVZ

Osnova kurzu OBSLUHA PC ZAMĚŘENÍ PRÁCE S TEXTEM. pilotního projektu v rámci I. Etapy realizace SIPVZ Střední průmyslová škola a Střední odborné učiliště, Trutnov, Školní 101, tel.: +420 499 813 071, fax: +420 499 814 729, e-mail: skola@spssoutu.cz, URL: http://www.spssoutu.cz Osnova kurzu OBSLUHA PC ZAMĚŘENÍ

Více