knihovna programátora

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

Download "knihovna programátora"

Transkript

1 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í klíčových architektonických zásad Vysvětluje a procvičuje návrhové vzory, refaktoraci kódu, vývoj řízený testy a další oblasti, které běžné učebnice ignorují Vše průběžně procvičuje na příkladech řešených spolu se čtenářem Doporučená učebnice na řadě středních škol i univerzit Java RUDOLF PECINOVSKÝ 7 učebnice objektové architektury pro začátečníky

2 Ukázka knihy z internetového knihkupectví

3 O autorovi Rudolf Pecinovský patří ke špičkovým odborníkům na výuku programování. Publikoval již 43 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. Je autorem metodiky výuky programování Karel, navazující metodiky Baltík a moderní metodiky výuky objektově orientovaného programování známé pod anglickým názvem Architecture First. Učí programování na VŠE a FIT ČVUT. Současně pracuje jako Senior EDU Expert ve firmě ICZ a.s., kde má na starosti doškolování profesionálních programátorů a organizaci kurzů, které si objednávají jiné firmy. O knize Tato kniha je třetím vydáním populární učebnice programování, která je na našem trhu zcela ojedinělá. Na rozdíl od ostatních učebnic, které se soustředí na výuku syntaxe jazyka a práce s knihovnami, se tato kniha soustředí především na výklad architektonických konstrukcí. Neučí čtenáře kódovat, ale snaží se jej naučit, jak programy navrhovat. Učí jej, jak má při programování myslet. Reaguje tak na známou skutečnost, že kodérů je hodně, ale dobrých softwarových architektů je proklatě málo (proto také mají několikanásobně vyšší platy). Kniha je sice primárně určena začátečníkům, ale ohlasy na předchozí vydání ukázaly, že v ní najdou poučení i zkušení programátoři. Většina učebnic a kurzů programování totiž vyvolává falešnou představu, že objektově programovat znamená používat třídy a dědění. Tato kniha je první, která ukazuje, že objektově orientované programování přináší především jiný způsob myšlení. Jak výstižně napsal jeden čtenář: Myslel jsem si, že nejsem žádné programátorské ucho. Když jsem ale přečetl vaši učebnici, otevřel jsem oči a hubu. Konečně jsem pochopil věci, které mi ostatní učebnice nedokázaly vysvětlit. Kniha vznikla na základě dlouholetých autorových zkušeností se školením profesionálních programátorů, výukou programování na univerzitě i vedením žákovských programátorských kroužků. Autor v ní uvádí čtenáře krok za krokem do tajů objektově orientovaného programování a ukazuje mu, jak možnosti této moderní technologie co nejlépe využít a kde si dát naopak pozor na její úskalí. Výklad je postaven na příkladech, které autor spolu s čtenářem postupně řeší a přitom čtenáře učí nejenom základním programátorským návykům a dovednostem, ale předvede mu i nejrůznější užitečné triky, z nichž mnohé nikde jinde vysvětlené nenajdete. Současně upozorňuje na nejčastější začátečnické chyby, které před svými čtenáři ostatní učebnice většinou tají. Navíc probírá i řadu témat (např. návrhové vzory), která jsou většinou probírána až v pokročilých, nebo dokonce nadstavbových kurzech, přestože patří do základní výbavy objektového programátora.

4 knihovna programátora Java 7 učebnice objektové architektury pro začátečníky RUDOLF PECINOVSKÝ GRADA Publishing

5 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. Java 7 učebnice objektové architektury pro začátečníky Rudolf Pecinovský Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou publikaci Odborní lektoři: doc ing. Alena Buchalcevová, Ph.D., doc. ing. Pavel Herout, Ph.D., doc. MUDr. Jiří Kofránek, CSc., doc. ing. Vojtěch Merunka, Ph.D., prof. RNDr. PhDr. Antonín Slabý, CSc., doc ing. Miroslav Virius, CSc. Odpovědný redaktor: Martin Vondráček Návrh vnitřního layoutu: Rudolf Pecinovský Zlom: Rudolf Pecinovský Počet stran 496 Vydání 1., 2012 Vytiskla Tiskárna PROTISK, s.r.o., České Budějovice Grada Publishing, a.s., 2012 Cover Photo allphoto.cz ISBN (tištěná verze) ISBN (elektronická verze ve formátu PDF) ISBN (elektronická verze ve formátu EPUB) 43G_UOA1_J7_Zlom.doc verze , uloženo: čt :40 Strana 4 z 495

6 Mé ženě Jarušce a dětem Štěpánce, Pavlínce, Ivance a Michalovi 43G_UOA1_J7_Zlom.doc, verze , uloženo: čt :40 Strana 5 z 495

7 6 Java 7 učebnice objektové architektury pro začátečníky Stručný obsah Stručný obsah Skrytí spoluautoři Předmluva k prvnímu vydání Úvod Část 1: Interaktivní režim Seznamujeme se s nástroji Objekty a třídy Testovací třída Práce s daty Výlet do nitra objektů Programátorská dokumentace Rozhraní interface Pokročilá práce s rozhraním Dědění tříd Část 2: Základy práce v textovém režimu Vytváříme vlastní třídu Přidáváme parametry Přidáváme atributy a metody Pokročilejší práce s daty Komentáře a dokumentace Operace a operátory Definice testovací třídy Ladění programů Implementace rozhraní Samostatná aplikace UFO Část 3: Základní programovací techniky Refaktorace Hodnotové a odkazové objektové typy Složitější rozšíření funkčnosti Budete si to přát zabalit? Rejstřík G_UOA1_J7_Zlom.doc verze , uloženo: čt :40 Strana 6 z 495

8 Podrobný obsah 7 Podrobný obsah Podrobný obsah Skrytí spoluautoři Předmluva k prvnímu vydání Úvod Co je nového ve 3. vydání Komu je kniha určena Co se naučíte Styl výuky Programovací jazyk Uspořádání Jazyk programů Potřebné vybavení Sada JDK (Java Development Kit) Vývojové prostředí Proč právě BlueJ Doprovodné programy Doprovodné animace Použité konvence Odbočka Vaše poznámky a připomínky Část 1: Interaktivní režim Seznamujeme se s nástroji Trocha historie První počítače Co je to program Program musí být především spolehlivý Objektově orientované programování OOP Vývoj metodik programování Překladače, interprety, platformy Operační systém a platforma Programovací jazyky Java a její zvláštnosti Klíčové vlastnosti Javy Objektově orientovaná Jednoduchá Multiplatformní Java je jazyk i platforma Vývojářská sada Vývojové prostředí BlueJ Projekty a BlueJ Windows a substituované disky Vyhledání a otevření projektu G_UOA1_J7_Zlom.doc, verze , uloženo: čt :40 Strana 7 z 495 Ukázka knihy z internetového knihkupectví

9 8 Java 7 učebnice objektové architektury pro začátečníky 1.7 Diagram tříd Manipulace s třídami v diagramu Shrnutí co jsme se naučili Objekty a třídy Nejprve trocha teorie Principy OOP Objekty Třídy a jejich instance Třída jako objekt Zprávy Metody Výchozí projekt Stereotypy a nestandardní druhy tříd Třídy a jejich instance Vytváříme instanci Pravidla pro tvorbu identifikátorů v jazyku Java Vytváříme instanci pokračování Proměnné a zásobník odkazů Posíláme instanci zprávu Vytváříme další instance Rušení instancí a správa paměti Restartování virtuálního stroje Instance versus odkaz Úvod do návrhových vzorů Knihovní třída (Utility class) Statická tovární metoda (Static factory method) Jedináček (Singleton) Výčtový typ (Enumerated type) Shrnutí co jsme se naučili Testovací třída Možnost uložení provedených akcí Vytvoření testovací třídy Struktura testovací třídy Testovací přípravek Vlastní testy Definujeme testovací přípravek Definujeme testovací metody Další testy Spuštění všech testů Shrnutí co jsme se naučili Práce s daty Zprávy žádající o hodnotu Datové typy Primitivní datové typy Objektové datové typy Přístupové metody Vracení hodnot primitivních typů Vracení hodnot objektových typů Parametry metod Vyvolání konstruktoru s parametry Zadávání hodnot typu String Modifikace testovacího přípravku Funkce testů s novým přípravkem Parametry objektových typů G_UOA1_J7_Zlom.doc verze , uloženo: čt :40 Strana 8 z 495

10 Podrobný obsah 9 Nastavování hodnot vlastností Zadávání hodnot objektových typů Získání doposud nepoužité barvy Test demonstrující použití objektových parametrů Metody třídy statické metody Smazání plátna Shrnutí co jsme se naučili Výlet do nitra objektů Atributy (datové členy) Atributy instancí Atributy třídy statické atributy Instance třídy jako její atributy Přímé zadávání hodnot parametrů objektových typů Zkrácený zápis zadávaných zpráv Návrhový vzor Přepravka Shrnutí co jsme se naučili Programátorská dokumentace Dokumentace aktuální třídy Dokumentace celého projektu Dokumentace standardní knihovny Shrnutí co jsme se naučili Rozhraní interface Teoretický úvod Motivace Deklarace definice Rozhraní implementace Atributy vlastnosti Signatura kontrakt Rozhraní interface Interfejs a jeho instance Použití v programu Otevíráme nový projekt Implementace rozhraní třídou Implementace rozhraní v diagramu tříd Zrušení implementace Důsledky implementace rozhraní Návrhový vzor Služebník Nový projekt Přidání mnohotvaru Import třídy s dosažitelným zdrojovým kódem Představení třídy Mnohotvar Název mnohotvaru Mnohotvar se skládá z kopií Metody s proměnným počtem parametrů Přidání testovací třídy dané třídy Testovací přípravek mnohotvaru Plynulé přesuny mnohotvaru Shrnutí co jsme se naučili Pokročilá práce s rozhraním Nevýhody aktuálního řešení a možnosti jejich odstranění Implementace více rozhraní Kompresor a jím využívaná rozhraní Rafinovanější změny velikosti tvarů G_UOA1_J7_Zlom.doc, verze , uloženo: čt :40 Strana 9 z 495

11 10 Java 7 učebnice objektové architektury pro začátečníky 8.4 Návrhový vzor Prázdný objekt (Null Object) Dědění rozhraní Trocha teorie o dědění Aplikace dědění rozhraní na náš projekt Přidání značkovacího rozhraní IKreslený Návrhový vzor Prototyp (Prototype) Demonstrační test Proč? Závěr Test demonstrující nepříjemné chování grafických objektů Nová koncepce projektu Návrhový vzor Prostředník (Mediator) Inverze závislostí Návrhový vzor Pozorovatel (Observer), hollywoodský princip Nový projekt Převod testů do nového projektu Nový přípravek pro třídu MnohotvarTest Nový přípravek pro třídu Testy Nový přípravek pro třídu ITvarTest Ještě jednou k dědění rozhraní Shrnutí co jsme se naučili Dědění tříd Tři druhy dědění Přirozené (nativní) dědění Dědění typu Dědění implementace Základy dědění tříd Princip dědění Univerzální (pra)rodič Object Instance třídy Object jako parametr či návratová hodnota Pokusy s děděním Překrývání metod Jediný implementační předek Abstraktní třídy a jejich role v dědické hierarchii Experimenty s abstraktní třídou Účel abstraktních tříd Návrhový vzor Šablonová metoda Zavedení abstraktních tříd do projektu Implementace Shrnutí co jsme se naučili Část 2: Základy práce v textovém režimu Vytváříme vlastní třídu První vlastní třída Zdrojový kód třídy Prázdná třída Bílé znaky a uspořádání programu Soubory projektu Odstranění třídy Implicitní konstruktor Přejmenování třídy Ladění G_UOA1_J7_Zlom.doc verze , uloženo: čt :40 Strana 10 z 495

12 Podrobný obsah 11 Syntaktické chyby Běhové chyby Logické (sémantické) chyby Shrnutí co jsme se naučili Přidáváme parametry Konstruktor s parametry Použití skrytého parametru this Přetěžování Testování TDD vývoj řízený testy Testovací třída Testovací přípravek Shrnutí co jsme se v kapitole naučili Přidáváme atributy a metody Deklarace atributů Modifikátory přístupu Vylepšujeme Strom Možné důsledky zveřejnění atributů Modifikátory konstantnosti Definujeme vlastní metodu Test vytvořených metod Reakce na chybu v testu Nejprve testy, pak program? Někdy jsou věci složitější Použití metod vracejících hodnotu Definice metod vracejících hodnotu Parametry a návratové hodnoty objektových typů Přístupové metody Atributy a vlastnosti našich stromů Kvalifikace a klíčové slovo this Příklad Kvalifikace atributů Příklad: Světlo Shrnutí co jsme se naučili Pokročilejší práce s daty Atributy a metody třídy (statické atributy a metody) Atributy třídy Metody třídy Úkoly Čtení chybových hlášení Lokální proměnné Konstanty a literály Konstanty objektových typů Správná podoba literálů boolean int long short, byte double float char String null Překrývání metod G_UOA1_J7_Zlom.doc, verze , uloženo: čt :40 Strana 11 z 495

13 12 Java 7 učebnice objektové architektury pro začátečníky Opakování Metoda tostring() podpis objektu Sčítání řetězců Jak definovat metodu tostring() Shrnutí co jsme se v kapitole naučili Komentáře a dokumentace Zapouzdření a skrývání implementace Rozhraní implementace Signatura kontrakt Komentáře a dokumentace Proč psát srozumitelné programy Druhy komentářů Dokumentační komentáře Zakomentování a odkomentování části programu Pomocné značky pro tvorbu dokumentace Okomentování třídy Strom BlueJ a programátorská dokumentace Uspořádání jednotlivých prvků v těle třídy Prázdná standardní třída Shrnutí co jsme se naučili Operace a operátory Jednoduché okenní vstupy a výstupy Textové řetězce Rozdíl mezi prázdným řetězcem a null Čísla Podrobnosti o operátorech Binární operátory + * / % Sčítání, odčítání, násobení Slučování řetězců Dělení / Zbytek po dělení (dělení modulo) % Unární operátory Kulaté závorky () Přiřazovací operátor = Složené přiřazovací operátory +=, =, *=, /=, %= Operátor přetypování (typ) Explicitní a implicitní přetypování Univerzální přetypování na String Primitivní a obalové datové typy Počítáme instance Inkrementační a dekrementační operátory Způsoby předávání hodnot Jiný způsob inicializace rodného čísla Standardní výstup Standardní chybový výstup Shrnutí co jsme se naučili Definice testovací třídy Opakování Knihovna JUnit Útroby prázdné testovací třídy Přípravek Ruční úprava přípravku G_UOA1_J7_Zlom.doc verze , uloženo: čt :40 Strana 12 z 495

14 Podrobný obsah 13 Interaktivní doplnění přípravku Automaticky generované testy Vlastní testy Úklid Metody assertequals a asserttrue Pomocné metody z rodiny assertequals Vylepšení třídy Testy Vzájemné volání testovacích metod Shrnutí co jsme se naučili Ladění programů Krokování programu Okno debuggeru Vlákna Pořadí volání zásobník návratových adres Atributy třídy Atributy instancí Lokální proměnné Krokování konstruktoru Atributy a proměnné objektových typů Už nezastavuj ruším zarážky Předčasný konec programu Pozastavení běžícího programu Shrnutí co jsme se naučili Implementace rozhraní Syntaxe interfejsu Zakomentovaná 366 Signatura kontrakt Implementace rozhraní ve zdrojovém kódu Přizpůsobení tříd novému projektu Překlad třídy Světlo Překlad pro zjištění chyby Přidání implementované metody Překlad třídy SvětloTest a spuštění testů Definice přípravku Dokončení definice metody nakresli(kreslítko) Překlad třídy Strom Metoda nakresli(kreslítko) Metoda alej() Atribut pro SprávcePlátna Vyhledávání a nahrazování textů v souborech Úpravy třídy StromTest a spuštění testů Testovací přípravek Metoda testalej() Metoda testposuny() Metoda testsmažzobraz() Metoda testzarámuj() Metoda testzarámujstatic() Závěrečné úpravy Úpravy posunových metod Efektivita vykreslování Zefektivnění přesunu Vnořený blok Další úpravy Shrnutí co jsme se naučili G_UOA1_J7_Zlom.doc, verze , uloženo: čt :40 Strana 13 z 495 Ukázka knihy z internetového knihkupectví

15 14 Java 7 učebnice objektové architektury pro začátečníky 19. Samostatná aplikace UFO Poloprázdná třída a zástupné metody Závěrečný příklad UFO Předběžné poznámky Stručný přehled Třída Dispečer Jednodušší varianta Varianta ovládaná z klávesnice Třída UFO_Moje Atributy Konstruktor Metoda getkroktahu() Metoda setrychlost(int,int) Metody getx(), gety(), getxrychlost(), getyrychlost(), getxtah(), getytah() Metoda zobraz() Metoda popojeď(int) Metody vpravo(), vlevo(), vzhůru(), dolů(), vypnimotory() Metoda tostring() Třída UFO_Demo Třída UFOTest BlueJ a editace větších souborů Podbarvování bloků a formátování textu Grafický posuvník Nápověda při zadávání volané metody Vytvoření samostatné aplikace Třída spouštějící aplikaci Prohlížení obsahu JAR-souborů Vytvoření souboru JAR s aplikací Stěhování projektu mezi platformami Problémy s kódováním znaků Shrnutí co jsme se naučili Část 3: Základní programovací techniky Refaktorace Jedináček (Singleton) Ukázkový příklad Třídy ČernáDíraTest a TŘÍDA Třída ČernáDíra výchozí verze Pachy v kódu Refaktorování Refaktorace třídy ČernáDíra krok: Převod pomocných proměnných na atributy krok: Definice obálky pro zbylé pomocné proměnné Předání parametru hodnotou a odkazem krok: Úprava metody spolkni(elipsa) s využitím obálky krok: Vyjmutí kódu do samostatných metod krok: Další úprava definovaných metod Použití přesouvače a kompresoru Odstranění obálky Shrnutí Shrnutí co jsme se naučili Hodnotové a odkazové objektové typy G_UOA1_J7_Zlom.doc verze , uloženo: čt :40 Strana 14 z 495

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

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

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

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

ČÁ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

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

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

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

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

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

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

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

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

Metodika. Architecture First. Rudolf Pecinovský rudolf@pecinovsky.cz

Metodika. Architecture First. Rudolf Pecinovský rudolf@pecinovsky.cz Copyright Rudolf Pecinovský, Soubor: 2014_Comm_PrW_Architecture First Methodology.doc, verze 1.00.2413, uloženo po 9.6.2014 14:43 1 z 39 Metodika Architecture First Rudolf Pecinovský rudolf@pecinovsky.cz

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

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

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

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

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

Ú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á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

Ú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

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

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

PŘETĚŽOVÁNÍ OPERÁTORŮ

PŘETĚŽOVÁNÍ OPERÁTORŮ PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako

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

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

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

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

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

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/04.0006

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/04.0006 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/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem

Více

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

IRAE 07/08 Přednáška č. 1 Úvod do předmětu OOP Objekt Proč OOP? Literatura, osnova předmětu viz. cvičení Základní prvek OOP sw inženýrství = model reálných objektů (věcí) člověk, auto, okno (ve windows), slovník, = model abstraktní

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 0 5 0 (tištěná ISBN Grada

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 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 0 8 0 4 U (elektronická (tištěná

Více

Generátor kódu. a jeho uplatnění ve výuce programování. Rudolf PECINOVSKÝ rudolf@pecinovsky.cz

Generátor kódu. a jeho uplatnění ve výuce programování. Rudolf PECINOVSKÝ rudolf@pecinovsky.cz Generátor kódu a jeho uplatnění ve výuce programování Rudolf PECINOVSKÝ rudolf@pecinovsky.cz Trendy poslední doby Další a další státy si uvědomují nutnost zařazení výuky programování do učiva základních

Více

ADT/ADS = abstraktní datové typy / struktury

ADT/ADS = abstraktní datové typy / struktury DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní

Více

Programování v jazyce C a C++

Programování v jazyce C a C++ Programování v jazyce C a C++ Richter 1 Petyovský 2 1. března 2015 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno 2 Ing. Petyovský Petr, UAMT FEKT VUT Brno C++ Stručná charakteristika Nesdíĺı normu

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

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

Teoretické minimum z PJV

Teoretické minimum z PJV Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov

Více

Rudolf Pecinovský. Java 9 JShell

Rudolf Pecinovský. Java 9 JShell Rudolf Pecinovský Java 9 JShell ½½ Poskytuje informace v předstihu ½½ Nezatěžuje výkladem známých konstrukcí ½½ Probírá nástroj pro výuku a rychlé experimenty ½½ Ukazuje, jak zabudovat JShell do svého

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

Datové typy strana 29

Datové typy strana 29 Datové typy strana 29 3. Datové typy Jak již bylo uvedeno, Java je přísně typový jazyk, proto je vždy nutno uvést datový typ datového atributu, formálního parametru metody, návratové hodnoty metody nebo

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

Java/QE Akademie - Osnova

Java/QE Akademie - Osnova Java/QE Akademie - Osnova Lekce 1 1. Co je to Java? 1.1. Struktura Java kódu 2. Potřebné nástroje pro vývoj 2.1. JVM 2.2. JRE 2.3. JDK 3. Co je to proměnná a její zápis v Javě 3.1. Klasické proměnné 3.2.

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

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

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

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

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

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

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,

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

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 1 2 Objektové programování

Více

ú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

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

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

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

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

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

PB161 Programování v jazyce C++ Přednáška 4 PB161 Programování v jazyce C++ Přednáška 4 Přetěžování funkcí Konstruktory a destruktory Nikola Beneš 9. října 2017 PB161 přednáška 4: přetěžování funkcí, konstruktory, destruktory 9. října 2017 1 / 20

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

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 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 formátovanému výstupu,

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Strukturované proměnné Struktura, union Jazyk C České vysoké učení technické Fakulta elektrotechnická A8B14ADP Jazyk C - Strukturované proměnné Ver.1.10 J. Zděnek 20151 Struktura

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 Počítáme v Excelu v rekordním čase Druhé, aktualizované vydání Vladimír Bříza Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou 2787.

Více

Paměť počítače. alg2 1

Paměť počítače. alg2 1 Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových

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

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

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní Základy jazyka C# 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 Obsah přednášky Architektura.NET Historie Vlastnosti

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

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v

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

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

QUILLING. papírový filigrán nejen pro svátek. Jana Maiksnar Vašíčková

QUILLING. papírový filigrán nejen pro svátek. Jana Maiksnar Vašíčková QUILLING papírový filigrán nejen pro svátek 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

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

11. Přehled prog. jazyků

11. Přehled prog. jazyků Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 11 1 Základy algoritmizace 11. Přehled prog. jazyků doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze

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

Objektově orientovaný přístup

Objektově orientovaný přístup Objektově orientovaný přístup 1 Historie programovacích jazyků 1945: John von Neumann článek o nové metodě pro ukládání programů 1945: Grace Hopper poprvé termín "bug" 1946: Konrad Zuse Plankalkul - první

Více

Metodika Architecture First a její podpora v prostředí BlueJ++

Metodika Architecture First a její podpora v prostředí BlueJ++ Metodika Architecture First a její podpora v prostředí BlueJ++ Rudolf PECINOVSKÝ rudolf@pecinovsky.cz DidInfo 2015 1 Proč prosazuji metodiku Architecture First Technologická signatura Je třeba předvídat

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

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

Návrhové vzory. Jakub Klemsa, Jan Legerský. 30. října Objektově orientované programování. Jakub Klemsa Jan Legerský Objektově orientované programování klemsjak@fjfi.cvut.cz jan.legersky@gmail.com 30. října 2012 návrhový vzor (design pattern) obecné řešení problému, které se využívá při návrhu

Více

Správa paměti. doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 /

Správa paměti. doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / Správa paměti 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 Obsah přednášky Motivace Úrovně správy paměti. Manuální

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

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 (elektronická (tištěná SBN Grada 978-80-247-6877-9 Publishing, verze verze) formátu a.s. 2011 PDF) U k á z k a k n i h y z i n t e r n e t o v é

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 5 2 7 (elektronická (tištěná

Více

Objektově orientované programování

Objektově orientované programování 10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh

Více

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

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39 Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

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

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01 Anotace sady: Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01 Autor: Blanka Sadovská Klíčová slova: Algoritmus, proměnná, diagram Stupeň a typ vzdělávání: gymnaziální vzdělávání, 3. ročník

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

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

Programování v C++ 3, 3. cvičení Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového

Více

Vývojové nástroje jazyka Java

Vývojové nástroje jazyka Java Vývojové nástroje jazyka Java Tato kapitola informuje čtenáře, jaké nástroje je zapotřebí nainstalovat pro spouštění a vývoj programů v jazyce Java, hlavním cílem kapitoly je seznámit čtenáře s aplikacemi,

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

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

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

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Datové typy Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 5 Číslo: V/5 Programování v jazyce

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

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

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