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

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

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

Transkript

1 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 znázornění tříd a základům zapouzdření. Doba nutná k nastudování 2 2,5 hodiny 10.1 Rozhraní, implementace, signatura, kontrakt V úvodu tohoto bloku seznámíme s pojmy rozhraní, implementace, signatura a kontrakt. Pod pojmem rozhraní rozumíme množinu informací, které o sobě třída zveřejní (např. vše označené jako public). Vše, co nemá být zpřístupněno, tak označíme jako soukromé (tedy private). Pro příklad rozhraní tříd je možné nahlédnou do Java API Balíčky Při programování v jazyce Java se prakticky vždy používají balíčky (package). Balíčky umožňují organizovat větší projekty a členit programy na logické celky. Pomocí balíčky vytváříme tzv. jmenné prostory, přičemž v každém balíčku může být vždy jen jedna třída stejného názvu. Pokud chceme v programu mít dvě třídy (nebo i více tříd) se stejným názvem, tak je nutné každou z těchto tříd umístit do jiného balíčku. Z hlediska práce s balíčky můžeme říci, že se v zásadě jedná se o podobnou práci jako se složkami v operačním systému. Název balíčku také úzce souvisí s názvem třídy, neboť plný název třídy se skládá z uvedení balíčků a názvu třídy, např. třídy Math a String mají tyto plné názvy: java.lang.math java.lang.string Při využívání tříd z balíčků je nutné uvádět příkaz import. Import není nutné uvádět pro balíček java.lang. Při vytváření většího počtu tříd je vhodné přemýšlet nad uspořádáním tříd tak, aby byl program členěn na nějaké logické celky. KST/IZAPR - Základy programování blok 10, strana 1 (5) Michael Bažant

2 Pro předcházení konfliktů při volbě názvů balíčků je doporučeno používat doménové jméno v opačném pořadí (doménová jména jsou unikátní), např: import cz.upce.fei.izapr.matematika.matice; import cz.upce.fei.izapr.matematika.*; Pro bezproblémovou kompilaci zdrojových souborů je nutné, aby struktura balíčků odpovídala struktuře složek (adresářů) na disku. Pro umístění třídy do balíčku používáme příkaz package, který je vždy (pokud chceme třídu do nějakého balíčku zahrnout) na prvním řádku dané třídy. Příkaz package může být ve zdrojovém souboru třídy vždy pouze jeden, pokud deklarujeme v jednom souboru více tříd, tak tyto třídy musí být vždy v jednom balíčku Java API Java API (Application Programming Interface) zajišťuje klíčové funkce programovacího jazyka Java. Obsahuje celou řadu užitečných tříd (každá třída v Java API je umístěna v balíčku), které lze okamžitě použít ve vlastních aplikacích. Základní API je tak rozsáhlé, že by bylo nad rámec tohoto dokumentu uvádět bližší informace. Java API se pro jednotlivé verze jazyka může značně lišit Grafické znázornění tříd Pro názorné znázornění obsahu tříd a vazeb mezi třídami se používá jazyk UML (Unified Modeling Language). Tento jazyk je natolik rozsáhlý, že je obsahem jiného kurzu. My se v rámci tohoto kurzu seznámíme s úplnými základy tohoto jazyka, přičemž se omezíme pouze na ikonu třídy, asociační vazbu mezi třídami a dědičnost. Nejprve se podíváme na ikonu třídy viz Obrázek 1. Obrázek 1: Ikona třídy KST/IZAPR - Základy programování blok 10, strana 2 (5) Michael Bažant

3 V záhlaví ikony třídy je uveden název třídy, ve druhé části ikony třídy jsou uvedeny instanční proměnné třídy včetně datového typu a ve třetí části jsou uvedeny metody včetně návratové hodnoty metody. Podtržením jednotlivých prvků znázorňujeme skutečnost, že se jedná o statické proměnné, případně statické metody Přístupová práva V jazyce Java jsou k dispozici základní 4 přístupová práva: default - neuvádí se žádný modifikátor (bez klíčového slova), třída, data nebo metody jsou přístupné pouze v daném balíčku. Graficky znázorňujeme přístupové právo default pomocí symbolu ~. public - třída, data nebo metody jsou přístupné jakýmkoliv třídám v libovolném balíčku. Graficky znázorňujeme přístupové právo public pomocí symbolu +. private - data nebo metody jsou přístupné pouze v deklarující třídě. Graficky znázorňujeme přístupové právo private pomocí symbolu -. protected k bližším informacím o tomto modifikátoru bude uvedeno v části věnované dědičnosti. Graficky znázorňujeme přístupové právo protected pomocí symbolu #. U implicitního konstruktoru jsou přístupová práva vždy stejná jako přístupová práva třídy Základy zapouzdření Pod pojmem zapouzdření rozumíme zamezení přístupu k hodnotám atributů objektů (z důvodu bezpečnosti). Atributy objektů tedy označíme jako privátní a nebudou svému okolí k dispozici pro čtení ani zápis. Pokud je nutné zabezpečit přístup k privátním atributům objektů, tak se používají metody, v jejich tělech máme možnost omezit operace, které budou s daným atributem povolené a tedy bezpečné. Tato praktika je znázorněna na následujícím obrázku - Obrázek 2. Data patřící jednomu objektu jsou tedy skryta objektům dalším, přičemž důležité je mít informace o tom, jaké operace objekt může realizovat, nikoliv jak je realizuje (rozhraní vs. implementace). Skrývání informací (information hiding) zvyšuje stupeň nezávislosti, nezávislost modulů je důležitá pro výstavbu větších systémů a jejich údržbu. KST/IZAPR - Základy programování blok 10, strana 3 (5) Michael Bažant

4 Cílem zapouzdření je dosáhnout skrytí implementačních detailů třídy a nutit uživatele využívat rozhraní pro přístup k datům, což má za následek lepší údržbu zdrojového kódu. Mezi základní zásady tedy patří atributy tříd definovat privátní a pouze metody zamýšlené pro používání jinými třídami mají být veřejné (public). Obrázek 2: Ikona třídy s přístupovými právy Pokud bychom tento přístup neuplatňovali, mohlo by docházet k zadávaní neplatných dat do programů apod. viz Obrázek 3. Obrázek 3: Veřejné atributy objektu Příklad: d.den = 32; // neplatny den d.mesic = 2; d.den = 30; // mozne, ale spatne d.den = d.den + 1; // zadne overeni platnosti Otázky na procvičení 1. Jak znázorníme přístupová práva default v ikoně třídy? 2. Jak znázorníme statické metody v ikoně třídy? 3. Co znamená přístupové právo private? 4. K čemu slouží balíčky? 5. Jaký příkaz slouží pro definici balíčku? KST/IZAPR - Základy programování blok 10, strana 4 (5) Michael Bažant

5 Odkazy a další studijní prameny 1. Java API Java Tutorial - KST/IZAPR - Základy programování blok 10, strana 5 (5) Michael Bažant

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

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

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

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

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

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

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

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

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

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

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

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

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

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

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

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

Vytváření a použití knihoven tříd

Vytváření a použití knihoven tříd Vytváření a použití knihoven tříd 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 Prostory jmen motivace spolupráce

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

Objektově orientované programování v jazyce Python

Objektově orientované programování v jazyce Python Objektově orientované programování v jazyce Python Co to je objektově orientované programování Python není přímo objektově orientovaný jazyk, ale podporuje nejdůležitější části objektově orientovaného

Více

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

3. Třídy. Základní pojmy objektového programování. Třídy 3. Třídy Základní pojmy objektového programování Jak už víme, je Java objektovým programovacím jazykem. V úvodu této kapitoly si objasníme základní pojmy objektové teorie. Objekt představuje souhrn dat

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

První kapitola úvod do problematiky

První kapitola úvod do problematiky První kapitola úvod do problematiky Co je to Flex Adobe Flex je ActionSript (AS) framework pro tvorbu Rich Internet Aplications (RIA), tedy knihovna AS tříd pro Flash. Flex používáme k vytvoření SWF souboru

Více

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans. 1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými

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

01. HODINA. 1.1 Spuštění programu VB 2010. 1.2 Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start.

01. HODINA. 1.1 Spuštění programu VB 2010. 1.2 Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start. 01. HODINA 1.1 Spuštění programu VB 2010 - pomocí ikony, z menu Start. - po spuštění si můžeme vybrat, zda chceme vytvořit nový Projekt a jaký nebo zda chceme otevřít již existující Projekt. 1.2 Prvky

Více

Objektově orientované programování v jazyce Python

Objektově orientované programování v jazyce Python Objektově orientované programování v jazyce Python Základní pojmy objektově orientovaného programování Objekt vychází z reálného světa. Má dva charakteristické rysy. Všechny objekty mají stav Všechny objekty

Více

2 Postup při programování, úvod do programovacího jazyka Java

2 Postup při programování, úvod do programovacího jazyka Java 2 Postup při programování, úvod do programovacího jazyka Java Studijní cíl V tomto bloku bude věnována pozornost správnému postupu při programování, budou detailně vysvětleny jednotlivé etapy programování

Více

Programování v Javě I. Leden 2008

Programování v Javě I. Leden 2008 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory

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

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

Student s Life. Návrhová dokumentace (Design) Lukáš Barák, Jakub Ječmínek, Jaroslav Brchel, Jiří Zmeškal 3.12.2010

Student s Life. Návrhová dokumentace (Design) Lukáš Barák, Jakub Ječmínek, Jaroslav Brchel, Jiří Zmeškal 3.12.2010 Student s Life Návrhová dokumentace (Design) Lukáš Barák, Jakub Ječmínek, Jaroslav Brchel, Jiří Zmeškal 3.12.2010 Model Specification Page: 2 Obsah Model architektury... 3 Návrhový model... 3 Bussines

Více

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language) 7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující

Více

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

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan Principy OOP při tvorbě aplikací v JEE Michal Čejchan Témata přednášky Principy OOP - připomenutí Úvod - co nás vede k používání OOP Reálný svět - jak (ne)používáme OOP Nedostatky na úrovni programovacích

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

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

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

PB161 Programování v jazyce C++ Přednáška 1 .. PB161 Programování v jazyce C++ Přednáška 1 Organizace Úvod do OOP v C++ Nikola Beneš 21. září 2015 PB161 přednáška 1: organizace, úvod do OOP v C++ 21. září 2015 1 / 39 Cíle předmětu 1. vysvětlit základy

Více

"Václav Klaus". public class Clovek { protected String jmeno; protected int roknarozeni; public Clovek(String j, int rn) {

Václav Klaus. public class Clovek { protected String jmeno; protected int roknarozeni; public Clovek(String j, int rn) { 4. Třída versus objekt Co je třída a objekt? Třída (také poněkud nepřesně zvaná objektový typ) představuje skupinu objektů, které nesou stejné vlastnosti "stejné" je myšleno kvalitativně, nikoli kvantitativně,

Více

Jazyk C++ 1. Blok 3 Objektové typy jazyka C++ Třída. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

Jazyk C++ 1. Blok 3 Objektové typy jazyka C++ Třída. Studijní cíl. Doba nutná k nastudování. Průvodce studiem Jazyk C++ 1 Blok 3 Objektové typy jazyka C++ Studijní cíl Ve třetím bloku bude představen a rozebrán nejdůležitější objektový typ jazyka C++ a to sice třída. Po absolvování bloku bude student schopen navrhovat

Více

Programování v Javě I. Únor 2009

Programování v Javě I. Únor 2009 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

2 Grafický výstup s využitím knihovny

2 Grafický výstup s využitím knihovny 2 Grafický výstup s využitím knihovny Studijní cíl Tento blok je věnován základním principům při vytváření grafického výstupu pomocí standardních metod, které poskytuje grafické rozhraní. V textu budou

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

9. Polymorfismus a rozhraní

9. Polymorfismus a rozhraní Polymorfismus a rozhraní strana 73 9. Polymorfismus a rozhraní Tato kapitola navazuje na základní informace o objektech v kapitole 2, zde se budeme zabývat přetěžováním metod, polymorfismem a rozhraními.

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

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

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

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

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

Kapitola 1 První kroky v tvorbě miniaplikací 11

Kapitola 1 První kroky v tvorbě miniaplikací 11 Obsah Úvodem 9 Komu je kniha určena 9 Kapitola 1 První kroky v tvorbě miniaplikací 11 Co je to Postranní panel systému Windows a jak funguje 12 Co je potřeba vědět před programováním miniaplikací 16 Vaše

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

20. Projekt Domácí mediotéka

20. Projekt Domácí mediotéka Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý

Více

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

Více

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni! Java práce s řetězci Trochu povídání.. Řetězce jsou v Javě reprezentovány instancemi tříd StringBuffer a String. Tyto třídy jsou součástí balíčku java.lang, tudíž je možno s nimi pracovat ihned bez nutného

Více

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci Základy programovaní 4 (Java) Stream API Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/ZP4JV 5. listopad, 2014 1 / 10 Stream API Java 8 nový přístup k práci s kolekcemi

Více

Datové abstrakce v programovacích jazycích

Datové abstrakce v programovacích jazycích Datové abstrakce v programovacích jazycích Motivace Strukturovat rozsáhlé programy Dovolit separátní překlad Možné formy strukturování: Podprogramy původní forma abstrakce -abstrakce výpočtů Moduly kontejnery

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

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

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, p.o. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, p.o. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT Číslo projektu Název projektu Příjemce podpory - škola Číslo a název šablony klíčové aktivity Číslo vzdělávacího materiálu Tematická oblast Seznam anotací vzdělávacích materiálů CZ.1.07/1.5.00/34.0528

Více

Analýza a Návrh. Analýza

Analýza a Návrh. Analýza Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,

Více

================================================================================ =====

================================================================================ ===== Název: VY_32_INOVACE_PG4101 Základní struktura HTML stránky Datum vytvoření: 01 / 2012 Anotace: DUM seznamuje se základní strukturou a členěním HTML stránky, s jednotlivými složkami - HTML, CSS, externí

Více

Úvod do programování v jazyce Java

Úvod do programování v jazyce Java Úvod do programování v jazyce Java Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 5. říjen, 2011 Petr Krajča (UP) KMI/UP3J: Seminář I. 5.10.2011 1 / 17 Organizační informace email: petr.krajca@upol.cz

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

1. Téma 03 - Rozhodování

1. Téma 03 - Rozhodování 1. Téma 03 - Rozhodování Cíl látky Seznámit se a prakticky si vyzkoušet zápis rozhodování v jazyce Java 1.1. Úvod Jednou z nejčastěji používanou konstrukcí při programování je rozhodování. Právě této problematice

Více

15. Projekt Kalkulačka

15. Projekt Kalkulačka Projekt Kalkulačka strana 143 15. Projekt Kalkulačka 15.1. Základní popis, zadání úkolu Pracujeme na projektu Kalkulačka, který je ke stažení na java.vse.cz. Po otevření v BlueJ vytvoříme instanci třídy

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

1. Úvod do obsluhy AutoCADu

1. Úvod do obsluhy AutoCADu 1. Úvod do obsluhy AutoCADu Studijní cíl V této lekci se naučíme: Seznámíme se s potřebným zařízením. Způsoby ovládání. Nastavení AutoCADu. Doba nutná k procvičení 1,5 hodiny 1.1 AutoCAD AutoCAD je plnohodnotný

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

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML ROZHRANÍ ESA XML Ing. Richard Vondráček SCIA CZ, s. r. o., Thákurova 3, 160 00 Praha 6 www.scia.cz 1 OTEVŘENÝ FORMÁT Jednou z mnoha užitečných vlastností programu ESA PT je podpora otevřeného rozhraní

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í Předmět: Programování Charakteristika vyučovacího předmětu Cílem předmětu je poskytnout žákům ucelený

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

Windows je registrovaná obchodní známka firmy Microsoft v USA a v ostatních zemích.

Windows je registrovaná obchodní známka firmy Microsoft v USA a v ostatních zemích. Sun, Sun Microsystems, Java a všechny obchodní známky a loga obsahující Sun nebo Java jsou ochrannými známkami nebo registrovanými ochrannými známkami firmy Sun Microsystems, Inc. v USA a v ostatních zemích.

Více

UML. Unified Modeling Language. Součásti UML

UML. Unified Modeling Language. Součásti UML UML Unified Modeling Language 1995 počátek 1997 verze 1.0 leden dnes verze 2.0 (vývoj stále nedokončen) Standardní notace OMG podpora velkých firem (Microsoft, IBM, Oracle, HP ) popisuje struktury popisuje

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

Programujeme v softwaru Statistica

Programujeme v softwaru Statistica Programujeme v softwaru Statistica díl druhý Newsletter Statistica ACADEMY Téma: Programování, makra, skripty Typ článku: Návody V tomto článku si ukážeme další možnosti při psaní maker v softwaru Statistica.

Více

Java a XML. 10/26/09 1/7 Java a XML

Java a XML. 10/26/09 1/7 Java a XML Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis

Více

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Co je to UML Evoluce UML Diagram komponent Diagram odbavení Diagram tříd Aktivity diagram Stavový diagram Sekvenční diagram Diagram

Více

PREPROCESOR POKRAČOVÁNÍ

PREPROCESOR POKRAČOVÁNÍ PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,

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

Datové struktury. alg12 1

Datové struktury. alg12 1 Datové struktury Jedna z klasických knih o programování (autor prof. Wirth) má název Algorithms + Data structures = Programs Datová struktura je množina dat (prvků, složek, datových objektů), pro kterou

Více

7.6 Další diagramy UML

7.6 Další diagramy UML 7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

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

Excel - pokračování. Př. Porovnání cestovních kanceláří ohraničení tabulky, úprava šířky sloupců, sestrojení grafu

Excel - pokračování. Př. Porovnání cestovních kanceláří ohraničení tabulky, úprava šířky sloupců, sestrojení grafu Excel - pokračování Př. Porovnání cestovních kanceláří ohraničení tabulky, úprava šířky sloupců, sestrojení grafu Př. Analýza prodeje CD základní jednoduché vzorce karta Domů Př. Skoky do dálky - funkce

Více

PHOTO-ON Profesionální on-line správa fotografií

PHOTO-ON Profesionální on-line správa fotografií PHOTO-ON Profesionální on-line správa fotografií Softwarový produkt PHOTO-ON je především určen k evidenci, zařazování a archivaci statického obrazového materiálu např. fotografie, obrazová dokumentace

Více

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování 12. Virtuální sítě (VLAN) Studijní cíl Základní seznámení se sítěmi VLAN. Doba nutná k nastudování 1 hodina VLAN Virtuální síť bývá definována jako logický segment LAN, který spojuje koncové uzly, které

Více

OBJEKTOVĚ ORIENTOVANÉ PROGRAMOVÁNÍ

OBJEKTOVĚ ORIENTOVANÉ PROGRAMOVÁNÍ OBJEKTOVĚ ORIENTOVANÉ PROGRAMOVÁNÍ URČENO PRO VZDĚLÁVÁNÍ V AKREDITOVANÝCH STUDIJNÍCH PROGRAMECH FRANTIŠEK HUŇKA ČÍSLO OPERAČNÍHO PROGRAMU: CZ.1.07 NÁZEV OPERAČNÍHO PROGRAMU: VZDĚLÁVÁNÍ PRO KONKURENCESCHOPNOST

Více

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz UML a jeho použití v procesu vývoje Jaroslav Žáček jaroslav.zacek@osu.cz Různé pohledy na modelování Různé pohledy na modelování Unified Modeling Language UML není metodikou ani programovacím jazykem,

Více

Desatero, aneb nejčastější chyby v programování

Desatero, aneb nejčastější chyby v programování Desatero, aneb nejčastější chyby v programování Aleš Keprt Univerzita Palackého listopad 2008, březen 2009 1. Nepoužívejte pole na místě veřejného rozhraní Používejte třídy obsahující pole uvnitř Pole

Více

Principy UML. Clear View Training 2005 v2.2 1

Principy UML. Clear View Training 2005 v2.2 1 Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat

Více

Popis funkcí a parametrů programu. Reliance External communicator. Verze 1.5.0

Popis funkcí a parametrů programu. Reliance External communicator. Verze 1.5.0 Popis funkcí a parametrů programu Reliance External communicator Verze 1.5.0 Copyright 2003-2007 GEOVAP, spol. s r.o.,čechovo nábřeží 1790, 530 03 Pardubice tel: +420 466 024 617, fax:+420 466 210 314,

Více

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

Základy programovaní 3 - Java. Unit testy. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 26.,27. Základy programovaní 3 - Java Unit testy Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 26.,27. listopad, 2014 Petr Krajča (UP) Unit testy 26.,27. listopad, 2014 1 / 14 Testování zásadní

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

13 Barvy a úpravy rastrového

13 Barvy a úpravy rastrového 13 Barvy a úpravy rastrového Studijní cíl Tento blok je věnován základním metodám pro úpravu rastrového obrazu, jako je např. otočení, horizontální a vertikální překlopení. Dále budo vysvětleny různé metody

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Delphi - objektově orientované

Delphi - objektově orientované Kapitola 6 Delphi - objektově orientované programování Objektově orientované programování (zkracováno na OOP, z anglického Object oriented programming) je metodika vývoje softwaru, založená na těchto myšlenkách,

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

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

PROGRAMOVÁNÍ PRO MS WINDOWS 1

PROGRAMOVÁNÍ PRO MS WINDOWS 1 Jazyk C# je moderní jazyk z rodiny jazyků podporovaných aplikačním prostředím.net. Cílem předmětu je seznámit posluchače s tímto objektovým jazykem, a s programováním aplikací pro MS Windows. V průběhu

Více