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.

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

Download "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."

Transkript

1 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 aplikacemi. Text se bude postupně zabývat zobrazením hlavního okna aplikace, přidání ovládacích komponent a obsluha událostí. Na jednoduchých příkladech bude demonstrováno použití základních ovládacích komponent a jejich důležitých základních vlastností. Doba nutná k nastudování 3-4 hodiny Průvodce studiem 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.1 Programování aplikací s GUI Jak již bylo naznačeno v definování studijního cíle pro tento blok, prostor bude věnován především základům vytváření aplikací s grafickým uživatelským rozhraním (GUI, Graphical User Interface). Základní náplní předmětu je především vysvětlení principů základních grafických algoritmů a samotná výuka tvorby aplikací GUI do náplně předmětu zapadá pouze okrajově. Vzhledem k tomu, že součástí předmětu je i implementace vybraných algoritmů a tvorba jednoduchých grafických aplikací, je nezbytné, aby studenti byli obeznámeni se základy vytváření GUI aplikací, které umožňují použití grafického režimu. Protože tento předmět volně navazuje na předmět Základy programování, v rámci kterého bylo programování vyučováno pouze s využitím konzolových aplikací, je nutné chápat tento blok jako nezbytný mezičlánek a přípravu k další výuce předmětu. KST/IPOGR 1-1 Petr Veselý

2 V současné době představuje v oblasti programování tvorba aplikací s grafickým rozhraním tzv. hlavní proud. Vytváření konzolových aplikací je okrajovou záležitostí, která je vyhrazena pouze pro specifické případy. Hlavní rozdíly mezi běžnou konzolovou aplikací a aplikací s GUI lze shrnout do dvou základních bodů: použití komponent (např. existence hlavního okna s ovládacími prvky) a událostmi řízené programování (to je sice možné realizovat i v konzolových aplikacích, ale není to běžné). Princip GUI aplikace je tedy postaven na používání komponent a komunikaci mezi nimi (případně mezi nimi a uživatelem). 1.2 Grafické rozhraní GUI poskytované knihovnami jazyka Java je nezávislé na zařízení (tlačítko bude nebo může vypadat stejně na monitoru stolního PC i např. na tabletu bez ohledu na typu použité grafické karty) a rovněž s ohledem na multiplatformnost programovacího jazyka Java je nezávislé i na OS. Je tvořeno tzv. komponentami, které jsou vizuální nebo nevizuální. Standardní komponenty jsou součástí knihoven AWT a JFC. Komponenty jsou uspořádány do hierarchické stromové struktury na základě dědičnosti, případně implementace rozhraní. Na základě existujících komponent si může programátor vytvořit vlastní komponenty s požadovanými vlastnostmi a požadovaným chováním. V současné době v Javě existují 2 rozhraní: AWT (Abstract Window Toolkit) je zastaralé, obsahuje komponenty závislé na prostředí a je relativně pomalé, v současné době je používáno především pro applety JFC (Java Foundation Class) novější, moderní rozhraní, založeno na AWT, obsahuje nevizuální komponenty (Java Beans) a vizuální komponenty (Swing). Další text se bude týkat výhradně rozhraní s komponentami Swing. KST/IPOGR 1-2 Petr Veselý

3 1.3 Událostmi řízené programování Události (Event) řídí běh programu. Program je sestaven z jednotlivých komponent, které mohou být dle potřeby zobrazovány a během své existence mohou generovat různé události. Událost rovněž může vzniknout činností uživatele (prostřednictvím určité komponenty), nebo mlže být generována operačním systémem. Všechny události týkající se dané aplikace jsou umisťovány do fronty, ze které jsou postupně vybírány a obsluhovány. To znamená, že program není řízen sledem příkazů (od prvního k poslednímu) v metodě main, ale je vlastně řízen smyčkou obsluhující frontu událostí (zpráv). Na komponenty jsou navázáni posluchači (listener), registrující na jednotlivé události. Obsluha jednotlivých událostí (reakce na událost), tzv. obslužný kód (handlery) jsou umístěny v jednotlivých metodách. S problematikou událostmi řízeného programování úzce souvisí i problematika vláken a vícevláknových aplikací. 1.4 Vytvoření programu a spuštění Vytvoření programu s GUI lze shrnout do následujících kroků: Návrh vzhledu aplikace (návrh grafického rozhraní hlavní okno, rozmístění dalších komponent, vzhled komponent, ) Definování událostí, na které budou jednotlivé komponenty reagovat Vytvoření metod s obslužnými kódy jednotlivých událostí Propojení událostí a obslužných kódů Zabezpečení možnosti ukončení programu Spouštění programu lze shrnout do následujících kroků: Vytvoření instance aplikace včetně vytvoření fronty zpráv a spuštění obslužné smyčky (automaticky, programátor to nemusí řešit) KST/IPOGR 1-3 Petr Veselý

4 Volání metody main (automaticky, programátor to nemusí řešit) Vytvoření instance hlavního okna Zobrazení hlavního okna 1.5 Základní komponenty Většina používaných komponent je potomkem třídy javax.swing.jcomponent, která je potomkem java.awt.container. Komponenty zle rozdělit do tří základních kategorií dle úrovně: Top-Level komponenty (JFrame, JDialog) Kontejnerové komponenty slouží k seskupování komponent, které jsou do tohoto kontejneru umístěny (JPanel, JScrollPane, JToolbar, JSplitPane, ad.) Základní komponenty (listy) Swing Controls (JButton, JLabel, JRadioButton, JCheckBox, JTextArea, JTextField, JScrollBar, JComboBox, JMenu, JList, JProgressBar, ad.) Rovněž je třeba si uvědomit, že existují jak editovatelné (interaktivní) komponenty, tak komponenty pouze informativní (uživatel nemůže měnit jejich obsah). 1.6 Hierarchie komponent v aplikaci Jednotlivé komponenty každé aplikace je možno uspořádat do stromové struktury, která vyjadřuje hierarchické uspořádání jednotlivých komponent v aplikaci. Z této hierarchie je patrné která komponenta vlastní (obsahuje ve svém kontejneru) jiné komponenty. Na následujícím obrázku je ukázka hierarchie komponent z konkrétní aplikace. Ze stromu komponent je zřejmé, že na vrcholu je komponenta hlavní okno (jframe), která ve svém kontejneru obsahuje tři panely (jpanelhlavni, jpanelparametry a jpanelovladani) atd. KST/IPOGR 1-4 Petr Veselý

5 Obrázek 1: Ukázka hierarchie komponent v aplikaci 1.7 Zobrazení okna Nejjednodušší aplikace s GUI (tak jak bylo již uvedeno) musí splnit pouze několik základních předpokladů vytvoření instance pro hlavní okno a jeho zobrazení. V následující ukázce je vytvořena aplikace, která po svém spuštění v metodě main: Vytvoří instanci hlavniokno třídy JFrame pro hlavní okno Vytvoří instanci statickytext třídy JLabel pro nápis, který se bude zobrazovat na ploše hlavního okna Instanci statickytext vloží do kontejneru hlavního okna (hlavní okno se stává jeho vlastníkem a zabezpečuje např. jeho zobrazení) Pro hlavní okno se nastaví chování při pokusu o jeho uzavření Provede se implicitní nastavení rozměrů okna dle jeho obsahu Zobrazí se hlavní okno aplikace KST/IPOGR 1-5 Petr Veselý

6 import javax.swing.jframe; import javax.swing.jlabel; public class MainFrame { public static void main(string[] args) { JFrame hlavniokno = new JFrame("Př_01 - Hlavni okno"); JLabel statickytext = new JLabel ("Hurá, první příklad je na světě..."); hlavniokno.getcontentpane().add(statickytext); hlavniokno.setdefaultcloseoperation (JFrame.EXIT_ON_CLOSE); hlavniokno.pack(); hlavniokno.setvisible(true); Kód 2: Ukázka vytvoření a zobrazení hlavního okna aplikace Obrázek 3: Ukázka spuštěné aplikace Další ukázka vytvoří hlavní okno aplikace se dvěma tlačítky, které budou automaticky rozmístěny dle konkrétního tzv. layoutu. Nastavení zobrazení může být v konstruktoru. Aplikace funguje, ale nic nedělá. Na rozmístění tlačítek má vliv použitý Layout. Bez použití layoutu bude druhé tlačítko přes celé okno. Komponenty lze přidávat i pomocí getcontentpane().add(button1). Metoda pack() umožňuje přizpůsobení velikosti okna svému obsahu. import java.awt.flowlayout; import javax.swing.jbutton; import javax.swing.jframe; public class MainFrame extends JFrame { JButton btn1, btn2; MainFrame () { settitle("příklad zobrazení okna"); setlayout(new FlowLayout()); btn1 = new JButton("Tlačítko 1"); add(btn1); KST/IPOGR 1-6 Petr Veselý

7 btn2 = new JButton("Tlačítko 2"); add(btn2); setsize(300,100); public static void main (String[] args) { new MainFrame().setVisible(true); Kód 4: Ukázka vytvoření a zobrazení hlavního okna s tlačítky Obrázek 5: Ukázka spuštěné aplikace 1.8 Reakce na událost Události vytváří (vysílá) uživatel (prostřednictvím ovládací komponenty), nebo program nebo systém. Z hlediska programování je to objekt a jiný objekt tyto události zachycuje (posluchač, listener). Zachycovat může pouze objekt s implementovaným rozhraním Listener, kterého si vysílající objekt zaregistruje. V následujícím příkladu obsahuje hlavní okno tlačítko (JButton) a statický text (JLabel). Text ukazuje stav počítadla, které je reprezentováno proměnnou typu int. Pokud se stiskne tlačítko, je počítadlo inkrementováno a jeho nový stav je zobrazen pomocí statického textu. Obrázek 6: Ukázka spuštěné aplikace počítadla Událost stisknutí tlačítka je propojena na obsluhu této události metoda buttonpocitadloactionperformed. KST/IPOGR 1-7 Petr Veselý

8 Realizace propojení: pomocí metody addactionlistener je tlačítku přidán posluchač (ad-hoc vytvořená instance třídy ActionListener není pojmenována). Tento posluchač při svém vytváření definuje handler actionperformed, což je metoda, která zabezpečí reakci na událost stisknutí tlačítka. Tato metoda navýšení počítadla a zobrazení textu neřeší sama, ale volá metodu buttonpocitadloactionperformed. public class MainFrame extends JFrame { JButton btnpocitadlo; JLabel jlabelpocetstisknuti; static int pocitadlo = 0; MainFrame () { btnpocitadlo = new JButton("Zvyš stav počítadla"); add(btnpocitadlo); jlabelpocetstisknuti = new JLabel("Stav počítadla: 0"); btnpocitadlo.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { buttonpocitadloactionperformed(e); ); add(jlabelpocetstisknuti); private void buttonpocitadloactionperformed(actionevent e) { pocitadlo++; jlabelpocetstisknuti.settext("stav počítadla: " + pocitadlo);. Kód 7: Ukázka vytvoření obsluhy události Pojmy k zapamatování GUI, komponenta, událostmi řízené programování, událost, posluchač, obslužná metoda Otázky na procvičení 1. Jaké jsou základní rozdíly mezi konzolovou aplikací a aplikací s grafickým uživatelským rozhraním? 2. Jak funguje událostmi řízené programování? KST/IPOGR 1-8 Petr Veselý

9 3. Co je to komponenta? 4. Jaké jsou základní typy komponent? 5. Jakým způsobem se zobrazí hlavní okno aplikace? 6. Jak se vloží komponenty do kontejneru kontejnerové aplikace? 7. Jakým způsobem se řeší odezva na událost? 8. Co je to posluchač a jak se registruje? 9. Jaké jsou typy posluchačů? 10. Co je nutno nastavit v kódu, aby bylo možno aplikaci korektně ukončit? Odkazy a další studijní prameny Herout, P. Učebnice jazyka Java. České Budějovice : Koop, Herout, P. Java a grafické uživatelské prostředí. České Budějovice : Koop, KST/IPOGR 1-9 Petr Veselý

GUI - úvod. V této kapitole si ukážeme návod, jak vytvořit jednoduchou grafickou aplikaci a umístit do ní některé další grafické prvky.

GUI - úvod. V této kapitole si ukážeme návod, jak vytvořit jednoduchou grafickou aplikaci a umístit do ní některé další grafické prvky. GUI - úvod V této kapitole si ukážeme návod, jak vytvořit jednoduchou grafickou aplikaci a umístit do ní některé další grafické prvky. Klíčové pojmy: Grafické uživatelské rozhraní, grafické komponenty,

Více

Java GUI události. Událostmi řízené programování. Zpracování = obsluha událostí

Java GUI události. Událostmi řízené programování. Zpracování = obsluha událostí Java GUI události Cílem kapitoly je přiblížit hlavní princip událostmi řízeného programování a ukázat na příkladu způsob řešení pro konkrétní případ. Soubor obsahuje také tabulku s přehledem nejčastěji

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

01_Grafické rozhraní

01_Grafické rozhraní 01_Grafické rozhraní Jaké jsou základní rozdíly mezi konzolovou aplikací a aplikací s grafickým uživatelským rozhraním? Hlavní rozdíly mezi běžnou konzolovou aplikací a aplikací s GUI lze shrnout do dvou

Více

Grafické uživatelské rozhraní v Javě. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické

Grafické uživatelské rozhraní v Javě. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Grafické uživatelské rozhraní v Javě A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Grafický návrh - příklad určíme základní rozvržení určíme chování okna při zvětšování

Více

Java - výjimky. private void vstup() throws IOException {... }

Java - výjimky. private void vstup() throws IOException {... } Java - výjimky Tato kapitola ukazuje na několika příkladech práci s výjimkami v Javě. Klíčové pojmy: Výjimka, hierarchie výjimek, zachytávání výjimek, blok try-catch, tvorba vlastních výjimek, propagace

Více

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

Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda Anotace sady: Úvod do objektově orientovaného programování, VY_32_INOVACE_PRG_OOP_01 Autor: Blanka Sadovská Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda Druh učebního materiálu:

Více

Události. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické

Události. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Události A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Zpracování událostí - obsah 1. Připomenutí GUI 2. Co to je událost 3. Koncepce zpracování událostí 4. Zpracování vlastností

Více

GUI v Javě a událostmi řízené programování

GUI v Javě a událostmi řízené programování GUI v Javě a událostmi řízené programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 4 A0B36PR2 Programování 2 Jan Faigl, 2016 A0B36PR2 Přednáška

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

Obsah přednášky. GUI v Javě a událostmi řízené programování. Základní prvky grafického rozhraní. Základní komponenty.

Obsah přednášky. GUI v Javě a událostmi řízené programování. Základní prvky grafického rozhraní. Základní komponenty. GUI v Javě a událostmi řízené programování Obsah přednášky GUI v Javě (připomínka) Návrhář GUI Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 4 A0B36PR2

Více

Projekty pro výuku programování v jazyce Java

Projekty pro výuku programování v jazyce Java JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Pedagogická fakulta Katedra informatiky Akademický rok: 2006/2007 TEZE BAKALÁŘSKÉ PRÁCE Projekty pro výuku programování v jazyce Java Jméno: František Přinosil

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

2 Tvorba interaktivních grafických programů

2 Tvorba interaktivních grafických programů 2 Tvorba interaktivních grafických programů Studijní cíl Tento blok je věnován vytváření interaktivních grafických programů. Podrobně bude vysvětleno, jakým způsobem je možno programově reagovat na události

Více

Java - Kresba. 2/28/11 1/8 Java - kresba

Java - Kresba. 2/28/11 1/8 Java - kresba Java - Kresba Základní entity a jejich kresba ve třídě Graphics nemůžeme nastavit linii, šířku a typ, z grafických atributů jí můžeme nastavit pouze barvu Linie (čára)... drawline(int x1, int y1, int x2,

Více

8. GRAFICKÉ UŽIVATELSKÉ ROZHRANÍ

8. GRAFICKÉ UŽIVATELSKÉ ROZHRANÍ 8. GRAFICKÉ UŽIVATELSKÉ ROZHRANÍ Abstract Window Toolkit (AWT) je část Java Core API, kterou tvoří balíky: java.awt, java.awt.event (od JDK 1.1), java.awt.image, java.awt.datatransfer (od JDK 1.1). AWT

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

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

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

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

IRAE 07/08 Přednáška č. 7. Začátek (head)

IRAE 07/08 Přednáška č. 7. Začátek (head) Fronta (Queue) FIFO First In First Out (první dovnitř první ven) Vložení položky (Enqueue) Vyjmutí položky (Dequeue) Přidávání prvků Konec (Tail) Začátek (head) na jedné straně (konec) Odebírání prvků

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

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

8. Grafické uživatelské rozhraní

8. Grafické uživatelské rozhraní 8. Grafické uživatelské rozhraní Až dosud jsme pro výstupy a vstupy do našich programů využívali pouze konzoli nebo soubor. Java nám však poskytuje nástroje pro tvorbu grafického uživatelského rozhraní,

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

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

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: Učební praxe Téma: Program Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 19-21 Číslo: V/5 Programování v jazyce

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

VIII. Seminář Java VIII p.1/36

VIII. Seminář Java VIII p.1/36 Seminář Java VIII Seminář Java VIII p1/36 Rekapitulace Grafické uživatelské rozhraní Swing vs AWT Aplety Aplikační rámec, JApplet spouštení v prohlížeči, Appletviewer Událostní model knihovny Swing události

Více

Souhrn výukových materiálů ke kurzu: Tvorba výukových materiálů pomocí tabletu (B3.6)

Souhrn výukových materiálů ke kurzu: Tvorba výukových materiálů pomocí tabletu (B3.6) Souhrn výukových materiálů ke kurzu: Tvorba výukových materiálů pomocí tabletu (B3.6) Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. 1 Elektronický prostor

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

Tvorba grafického uživatelského rozhraní v BlueJ

Tvorba grafického uživatelského rozhraní v BlueJ Jihočeská univerzita v Českých Budějovicích Pedagogická fakulta Katedra informatiky Bakalářská práce Tvorba grafického uživatelského rozhraní v BlueJ Vypracoval: Tomáš Svatek Vedoucí práce: RNDr. Hana

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

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

Práce se soubory v Javě

Práce se soubory v Javě Práce se soubory v Javě Cílem kapitoly je naučit pracovat se soubory a adresáři v Javě. Na jednoduchých příkladech ukázat procházení adresáře, čtení z textového souboru a zápis do textového souboru. Klíčové

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

JAVA GUI Java, zimní semestr

JAVA GUI Java, zimní semestr JAVA GUI 1 Přehled JDK1.0 AWT Abstract Window Toolkit cíl na všech platformách dobře vypadající GUI moc se nepovedlo různá omezení (např. jen 4 fonty) špatně se používalo "ne-objektový" přístup JDK1.1

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

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

Principy objektově orientovaného programování

Principy objektově orientovaného programování Principy objektově orientovaného programování Třídy a objekty 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 C E T

Více

1 Nejkratší cesta grafem

1 Nejkratší cesta grafem Bakalářské zkoušky (příklady otázek) podzim 2014 1 Nejkratší cesta grafem 1. Uvažujte graf s kladným ohodnocením hran (délka). Definujte formálně problém hledání nejkratší cesty mezi dvěma uzly tohoto

Více

24. listopadu 2013, Brno Připravil: David Procházka

24. listopadu 2013, Brno Připravil: David Procházka 24. listopadu 2013, Brno Připravil: David Procházka Dědičnost Základy objektového návrhu Časná a pozdní vazba Strana 2 / 22 Obsah přednášky 1 Časná a pozdní vazba 2 Rozhraní pro dědičnost 3 Konstruktory

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

Obrázek 6.14: Prohlížec nápovedy

Obrázek 6.14: Prohlížec nápovedy JavaHelp Základní popis systému JavaHelp Soucástí vetšiny interaktivních aplikací je nápoveda (help) aplikace v Jave nejsou výjimkou. Systém JavaHelp je napsaný v Jave a je urcený pro aplikace vytvárené

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

Dědičnost. seskupování tříd do hierarchie. potomek získá všechny vlastnosti a metody. provádí se pomocí dvojtečky za názvem třídy.

Dědičnost. seskupování tříd do hierarchie. potomek získá všechny vlastnosti a metody. provádí se pomocí dvojtečky za názvem třídy. 3. ročník Dědičnost seskupování tříd do hierarchie nadtyp-podtyp potomek získá všechny vlastnosti a metody kromě označených jako private provádí se pomocí dvojtečky za názvem třídy Polymorfismus všude

Více

Z. Kotala, P. Toman: Java ( Obsah )

Z. Kotala, P. Toman: Java ( Obsah ) Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například

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: Visual Studio Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 19,2 Číslo: V/5 Programování

Více

Programátorská příručka

Programátorská příručka KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA Kapitola 1 Programátorská příručka 1.1 Úvod 1.1.1 Technologie Program je psaný v jazyce Java 1.7. GUI je vytvářeno pomocí knihovny SWT. (http://eclipse.org/swt/) Pro

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 : 29. Otázka : Zpracování událostí: mechanismus událostí a jejich zpracování (Event/Listener), nepřímá invokace (Observer/Observable). Obsah : 1. Mechanisums

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

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

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

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

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

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

Vývoj desktopových aplikací v Jazyce Java s bohatým grafickým uživatelským rozhraním.

Vývoj desktopových aplikací v Jazyce Java s bohatým grafickým uživatelským rozhraním. Vývoj desktopových aplikací v Jazyce Java s bohatým grafickým uživatelským rozhraním. Bakalářská práce autor: Petr Bálek Vedoucí práce: RNDr. Jaroslav Icha Jihočeská univerzita v Českých Budějovicích Pedagogická

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

Dědičnost (inheritance)

Dědičnost (inheritance) Dědičnost (inheritance) Úvod Umožňuje objektům převzít (zdědit) členy jiných objektů a pouze je rozšířit o Auto: lze odvodit Vztah je osobní auto, cisterna jsou auta Základní pojmy Bázová třída (rodič)

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

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

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

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

Třída DrawingTool. Obrázek 1: Prázdné okno připravené pro kreslení

Třída DrawingTool. Obrázek 1: Prázdné okno připravené pro kreslení Třída DrawingTool strana 1 1. Základ Třída DrawingTool Třída DrawingTool je určena k jednoduchému kreslení pomocí několika základních příkazů do grafického okna zadaných rozměrů (nastavení v konstruktoru),

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

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

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

O autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné

O autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné O autorovi 15 O odborném korektorovi 15 Úvod 17 Vývoj jazyka Java 17 Java SE 8 19 Struktura této knihy 20 Klíčové znalosti a pojmy 20 Testové otázky 20 Odpovídá expert 20 Cvičení 20 Předchozí zkušenosti

Více

Technologie JavaBeans

Technologie JavaBeans Technologie JavaBeans 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 Historie Komponentový model Typy komponent

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

Remote Method Invocation RMI

Remote Method Invocation RMI Remote Method Invocation RMI Java TM Remote Method Invocation (RMI) umožňuje objektu na jedné Java Virtual Mashine(JVM) jednoduše spustit metodu jiného objektu na vzdálené JVM. Při volání vzdálené metody

Více

Projekt Obrázek strana 135

Projekt Obrázek strana 135 Projekt Obrázek strana 135 14. Projekt Obrázek 14.1. Základní popis, zadání úkolu Pracujeme na projektu Obrázek, který je ke stažení na http://java.vse.cz/. Po otevření v BlueJ vytvoříme instanci třídy

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

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

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

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

Algoritmizace. Cíle předmětu

Algoritmizace. Cíle předmětu Cíle předmětu Algoritmizace naučit se sestavovat algoritmy řešení jednoduchých problémů a zapisovat je v jazyku Java Organizace předmětu přednášky (učast nepovinná, ale doporučená) cvičení střídavě u tabule

Více

Úvod do počítačových sítí

Úvod do počítačových sítí Úvod do počítačových sítí Jméno a příjmení: Jan Tichava Osobní číslo: Studijní skupina: středa, 3 4 Obor: INIB INF E-mail: jtichava@students.zcu.cz Datum odevzdání: 19.12.06 Základní charakteristika Jednoduchá

Více

Logování zaznamenávání informací o průběhu programu, ladících a chybových informací

Logování zaznamenávání informací o průběhu programu, ladících a chybových informací Logování zaznamenávání informací o průběhu programu, ladících a chybových informací Logování zaznamenávání informací o průběhu programu, ladících a chybových informací... 1 Priorita... 1 Kategorie... 2

Více

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

Dalším příkladem může být například výstup dat na různá zařízení, souborů, grafických rozhraní, sítě atd. 1. Zapouzdření Cíl látky Tento blok nejdříve přiblíží zásadu zapouzdření a odpoutání kódu a po té na relacích, jako jsou asociace, agregace a kompozice, vysvětlí jak lze objektový zdrojový kód zapouzdřovat

Více

SWT & MigLayout. Alternativy Java GUI v praxi. Pavel Janečka & Tomáš Chlouba. červen 2011

SWT & MigLayout. Alternativy Java GUI v praxi. Pavel Janečka & Tomáš Chlouba. červen 2011 SWT & MigLayout Alternativy Java GUI v praxi Pavel Janečka & Tomáš Chlouba červen 2011 SWT SWT & MigLayout Historie Komponenty a události Vývoj aplikací a ukázky MigLayout Java Layout Managery Ukázka použití

Více

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze A0B36PR2 Programování 2 Jan Faigl, 2015 A0B36PR2

Více

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop Téma 1: Práce s Desktop 1 Teoretické znalosti V této kapitole zjistíte, co skrývají pojmy jako Desktop, GNOME, KDE, Metacity Window Manager, Nautilus a Konqueror. Desktop neboli pracovní plocha patří mezi

Více

Testování. Zadání příkladu. Vytvoření kostry třídy. Obsah:

Testování. Zadání příkladu. Vytvoření kostry třídy. Obsah: Obsah: Testování... 1 Zadání příkladu... 1 Vytvoření kostry třídy... 1 Napsání testů... 2 Testy správnosti... 3 Testy výjimek... 3 Testy vztahů/závislostí... 4 Zdrojový text testu... 4 Spuštění testů...

Více

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve

Více

29. Výjimky, jejich vznik, vyhození, odchyt a zpracování. (A7B36PVJ)

29. Výjimky, jejich vznik, vyhození, odchyt a zpracování. (A7B36PVJ) 29. Výjimky, jejich vznik, vyhození, odchyt a zpracování. (A7B36PVJ) Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka

Více

IoC/DI. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz

IoC/DI. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz IoC/DI Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz SOLID 5 pravidel pro testovatelný kód Na netestovatelném kódu se IoC/DI používá špatně SOLID Single Responsibility Principle Každá třída

Více

Software pro grafické terminály TERM10 a TERM03

Software pro grafické terminály TERM10 a TERM03 Software pro grafické terminály TERM10 a TERM03 STAVEBNICE OBJEKTŮ Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz

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

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní WR Reality Web Revolution Uživatelský manuál administračního rozhraní Web Revolution s. r. o. 2010 WR Reality Administrace uživatelský manuál Praktický průvodce administrací webové aplikace WR Reality

Více

1. Téma 12 - Textové soubory a výjimky

1. Téma 12 - Textové soubory a výjimky 1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se

Více

Grafické uživatelské rozhraní GUI event-driven programming událostmi řízené programování

Grafické uživatelské rozhraní GUI event-driven programming událostmi řízené programování Grafické uživatelské rozhraní GUI event-driven programming událostmi řízené programování 1 Osnova 2 1. Vytváření oken základní balíčky 2. Třída Component 3. Komponenty atributy komponent 4. Swingové komponenty

Více

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů. Diplomová práce Nástroje pro ekonomické modelování

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů. Diplomová práce Nástroje pro ekonomické modelování České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Diplomová práce Nástroje pro ekonomické modelování Bc. Václav Götthans Vedoucí práce: doc.rndr. Josef Kolář, CSc. Studijní

Více

1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:

1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů: Úloha č.: max. bodů: skut. bodů: 1 2 3 4 5 6 součet cvičení celkem 20 12 20 20 14 14 100 známka UPOZORNĚNÍ : a) Písemná zkouška obsahuje 6 úloh, jejichž řešení musí být vepsáno do připraveného formuláře.

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

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

NMIN201 Objektově orientované programování 1 / :36:09 NMIN201 Objektově orientované programování 1 / 26 8.10.2013 15:36:09 Objekty Svět se skládá z objektů! konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty mohou obsahovat

Více

Začínáme s vývojem pro Android

Začínáme s vývojem pro Android Pavel Petřek CTO Praha, 14. dubna 2010 Kdo je kdo Pavel Petřek Vývojář, přednášející, entusiasta světa chytrých telefonů (a velký jedlík) Spoluzakladatel Inmite Inmite Vývoj pro chytré telefony (Android:

Více

VYUŽITÍ GRAFICKÉHO UŽIVATELSKÉHO ROZHRANÍ MATLABU VE VÝZKUMU A VÝUCE MĚŘENÍ

VYUŽITÍ GRAFICKÉHO UŽIVATELSKÉHO ROZHRANÍ MATLABU VE VÝZKUMU A VÝUCE MĚŘENÍ VYUŽITÍ GRAFICKÉHO UŽIVATELSKÉHO ROZHRANÍ MATLABU VE VÝZKUMU A VÝUCE MĚŘENÍ Jan Blaška 1, Michal Krumpholc 2, Miloš Sedláček 2 1 Elektrosystem, spol. s.r.o., Brno 2 České vysoké učení technické v Praze

Více