Package balíček z pohledu UML
|
|
- Ladislav Pravec
- před 7 lety
- Počet zobrazení:
Transkript
1 OOPR_07 1
2 Obsah přednášky Balíčky (package) z pohledu UML Balíčky v Javě a příkaz import JAR soubory a samostatná aplikace Ladění programů debugger Jednoduché programy s grafikou 2
3 Package balíček z pohledu UML Balíček je abstrakce sdružování je to kontejner a vlastník modelovaných elementů. Každý balíček má vlastní jmenný prostor namespace uvnitř něhož musí být všechny názvy jedinečné. né. Většinou se jedná o názvy tříd a podtříd. Balíček je univerzálním mechanismem uspořádání elementů do skupin. 3
4 Package balíček z pohledu UML Pomocí mechanismu balíčků lze realizovat následující úkoly: Seskupovat sémanticky (významově) související prvky (třídy) Definovat sémantické hranice uvnitř modelu. Vytvářet jednotky správy konfigurace. V etapě návrhu poskytují balíčky jednotky pro souběžnou práci. Balíčky poskytují zapouzdřený jmenný prostor, v němž musí být všechny názvy jedinečné. 4
5 Grafická reprezentace balíčku v UML Balíčky vytvářejí hranice, jež ohraničují prostor, v němž musí být všechny názvy jedinečné. Jmenné prostory vytvářejí důležitý sémantický rozdíl mezi závislostmi typu <<import>> a <<access>>. Oba uvedené stereotypy umožňují klientským prvkům přístup k exportovaným prvkům dodavatelského balíčku, liší se však sémantikou. <<access>> <<import>> Balíček1 Balíček2 Balíček3 5
6 Stereotyp v UML Stereotyp zastupuje určitou variantu existujícího prvku v datovém modelu, který má sice stejnou podobu (atributy a relace), ale používá se s jiným záměrem. Stereotyp umožňuje uje vytvářet nové prvky modelu založené na existujících prvcích. Název stereotypu se ukládá do dvojitých závorek << >> a připojuje k novému prvku. 6
7 Závislost balíčků Balíčky mohou být vytvářeny v hierarchii, podobně jako adresáře souborů. Veřejným prvkům (public) balíčku říkáme exportované prvky (mohou být používány prvky jiných balíčků). Soukromé prvky (private) balíčků nemohou být používány prvky jiných balíčků. 7
8 Package balíček z pohledu UML stereotyp <<import>> Závislost stereotypu <<import>> znamená, že jmenný prostor dodavatele je sloučen se jmenným prostorem klienta. Znamená to, že klientské prvky se mohou na dodavatelské (knihovní) prvky odkazovat pouze názvem cílového prvku, nemusí uvádět cestu k němu. Závislost stereotypu <<import>> je nejčastěji používaným typem závislosti navzdory tomu, že může vést ke kolizím kvůli nezamýšlené duplicitě názvů. 8
9 Package balíček z pohledu UML stereotyp <<access>> Závislost typu <<access>> znamená, že prvky klientského balíčku mohou přistupovat k veřejným prvkům dodavatelského balíčku, aniž by přitom došlo ke sloučení jmenných prostorů. Klientské prvky mohou používat dodavatelské prvky, musí však použít také cestu k danému prvku. 9
10 Balíčky v Javě Balíčkem se nazývá to, co můžeme získat, použitím klíčového slova import k importu celé knihovny např.: import java.util.*; příkaz připojuje k projektu celou knihovnu nástrojů balíčku java, podbalíčku util při vytváření vlastního balíčku musí být v daném souboru první příkaz package s názvem balíčku např.: package balicek1; 10
11 Balíčky uživatelský pohled Java umožňuje sdružovat skupiny tříd do hierarchicky uspořádaných balíčků (packages). Konvence: zdrojové soubory tříd patřících do společného balíčku se ukládají do stejného adresáře (stejné složky) Překladač uspořádá stejným způsobem i přeložené soubory Zdrojové a přeložené soubory nemusí být ve stejné složce (BlueJ umisťuje zdrojové soubory *.java i přeložené soubory *.class do stejné složky) 11
12 Balíčky označování (notace) Názvy hierarchických balíčků jsou odděleny. (tečkou) např. import java.util.date; import příkaz pro začlenění balíčku do aplikace, před tímto příkazem může být pouze příkaz package (viz dále) java balíček s názvem java util podbalíček balíčku java Calendar název importované třídy deklarace objektů s příkazem import: Calendar dnes; // pouze kvalifikace, bez konstruktoru 12
13 Balíčky označování (notace) deklarace objektů bez příkazu import: java.util.calendar dnes; balíčky jsou užitečné pro seskupování (agregaci) příbuzných tříd 13
14 Balíčky význam pomáhají odstranit konflikt jmen (názvů tříd) tím, že jméno třídy je jako přípona k názvům balíčků, které jsou první např. plné jméno třídy Calendar je: java.util.calendar např. java.awt (Abstract Window Toolkid) obsahuje třídu List a java.util má rozhraní List class Priklad { java.awt.list list1; // List gui java.util.list list2; // abstraktní List namespace prostor jmen (používají jiné systémy) 14
15 Balíčky - vytvoření Třída patřící do daného balíčku musí začínat příkazem: package název_balíčku; název_balíčku musí být stejný jako název složky (podadresáře) e) v níž je soubor umístěn názvy balíčků: písmena, číslice a znaky _ a $ nesmějí být shodné s klíčovým slovem, nesmějí začínat číslicí podle konvence pouze malá písmena nabídka Edit \ New package při deklaraci se balíčky vnořují do sebe 15
16 package cviceni; Poznámky public class Prepravka { public int extrem; public int index; public Prepravka() { extrem=0; index = 0; } public Prepravka(int extrem, int index) { this.extrem = extrem; this.index = index; } public void setprepravka(int prvni, int druhy) { extrem = prvni; index = druhy; } public String tostring() { return String.format("%s: %d\n%s: %d","extrem",extrem,"index",index); } public int getextrem() { return extrem; } } public int getindex() { return index; } 16
17 package cviceni; public class Register { private int pole[]; private int top; // konstruktor public Register(int pocet) { pole = new int[pocet]; top = -1; } } Poznámky Třída Register, Třída RegisterTestP import cviceni.register; import cviceni.prepravka;// import cviceni.* public class RegisterTestP { public static void main(string args[]) { Register a = new Register(5); a.vlozit(10); a.vlozit(15); a.vlozit(-44); a.tisk(); a.odstranit(15); a.tisk(); Prepravka p; p = a.minimum(); System.out.println("Minimalni prvek registru: " + p); } } System.out.println("getPrvek 15"); int b= a.getprvek(15); 17
18 18
19 package prvni.druhy.ctvrty.paty; Poznámky import javax.swing.joptionpane; // Class static pomocna trida slouzici jako schranka pro staticke metody public class Cs { } package prvni.druhy.ctvrty; import prvni.druhy.ctvrty.paty.cs; import prvni.druhy.ctvrty.paty.pom; public class Citac { } package prvni.druhy; // java první.druhy.citactest //package druhy; import prvni.druhy.ctvrty.citac; public class CitacTest { } import prvni.druhy.ctvrty.citac; // java CitacTest public class CitacTest { } 19
20 Konvence pojmenování balíčků Problém tvoření jedinečných jmen balíčků ať se nacházejí kdekoli. Použití internetových jmen domén za tímto účelem, protože ta garantují, že budou jedinečná ná a proto nikdy nenastane kolize. Internetová jména domén se používají v obráceném pořadí např. com.bruceeckel... cz.osu.... //a název skutečných balíčků 20
21 Proměnná prostředí CLASSPATH Javovský interpret (java OsobaTest) postupuje následovně: nejdříve vyhledá proměnnou CLASSPATH, která obsahuje jeden nebo více adresářů, které jsou použity jako kořenové adresáře pro vyhledávání.class souborů. interpret začne v uvedeném kořenovém adresáři a vezme jméno balíčku a nahradí tečky \ např. balíček foo.bar.baz bude převeden na: foo\bar\baz (v Unixu / ) 21
22 22
23 package com.bruceeckel.simple; //cz.osu.simple; Poznámky public class Vector { public Vector() { System.out.println("com.bruceeckel.simple.Vector"); } } package com.bruceeckel.simple; //cz.osu.simple; public class List { public List() { System.out.println("com.bruceeckel.simple.List"); } } 23
24 Konflikty názvů import dvou knihoven, které obě používají název Vector import com.bruceeckel.simple.*; import java.util.*; konflikt: Vector v = new Vector(); musíme tedy použít celý název a napsat buď: java.util.vector v = new java.util.vector(); nebo com.bruceeckel.simple.vector v = new com.bruceeckel.simple.vector(); 24
25 Proměná prostředí CLASSPATH Pokud jsou soubory uloženy v uvedených podadresářích: C:\doc\JavaT\com\bruceeckel\simple CLASSPATH=.;C:\doc\JavaT Pro JAR soubory platí odlišnost, a to že je třeba uvést také i jméno JAR souboru, ne pouze cestu! CLASSPATH=.;d:\data\mujJAR.jar od verze Java 2 je možné program překládat a spouštět bez nastavené proměnné prostředí CLASSPATH 25
26 Javovské API pakety - balíčky Application Programming Interface Java obsahuje mnoho předdefinovaných tříd, které jsou seskupeny do tzv. balíčků, paketů (packages) deklarace import specifikuje, že program např. používá třídu Scanner z paketu (balíčku) java.utils import java.util.scanner; přehled předdefinovaných balíčků (paketů) je uveden v následující tabulce 26
27 Javovské API pakety (balíčky) Paket - balíček java.applet java.awt java.awt.eve nt Popis funkcí Balíček obsahuje několik rozhraní požadovaných Javovskými aplety. Aplet je program schopný běžet ve webovském prohlížeči. Java Abstract Window Toolkid Package obsahuje třídy a rozhraní nutné pro práci v grafickém uživatelském rozhraní Javy (GUI) Ve stávající verzi Javy se spíše využívá javax.swing balíček Java Abstract Window Toolkid Event Package obsahuje třídy a rozhraní, které umožňují zpracování událostí pro komponenty GUI patřící pod java.awt 27
28 Javovské API pakety (balíčky) Paket - balíček java.io java.lang java.net Popis funkcí Java Input Output Package obsahuje třídy a rozhraní, které programy používají pro vstupně výstupní operace Java Language Package obsahuje základní třídy a rozhraní potřebné pro tvorbu javovské aplikace. Tento balíček je importován překladačem implicitně. Java Networking Package obsahuje třídy a rozhraní, které umožní programům komunikovat přes síť počítačů 28
29 Javovské API pakety (balíčky) Paket - balíček java.text java.util Popis funkcí Java Text Package obsahuje třídy a rozhraní, které umožňují aplikacím manipulovat s čísly, datumy a znaky jako s řetězci. Umožňuje lokalizaci programů specifické nastavení Java Utilities Package obsahuje pomocné třídy a rozhraní, které umožňují: manipulace s časem a datumem práce s náhodnými čísly ukládání a zpracování rozsáhlých dat rozdělení řetězců na menší části - token 29
30 Javovské API pakety (balíčky) Paket - balíček Popis funkcí javax.swing Java Swing GUI Components Package - obsahuje třídy a rozhraní, které podporují portovatelné (portable) GUI. javax.swing.eve nt Java Swing Event Package obsahuje třídy a rozhraní, které umožňují zpracování událostí pro GUI komponentu balíčku java.swing 30
31 Balíčky problémy (námitky) při vytvoření nového balíčku určuje jeho název implicitně také adresářovou strukturu balíček musí existovat ve složce určené názvem složka musí existovat na místě, aby jí bylo možné nají na základě hodnoty uložené v proměnné CLASSPATH 31
32 Java Archives Files JAR Files JAR formát je zip formát použitý na skupinu souborů, jenž je spakovaná do jednoho.jar souboru. JAR soubory jsou nezávislé na platformě stejně jako Java. JAR soubory jsou zejména výhodné při stahování z webu, protože stáhneme jeden, v němž jsou ostatní soubory spakovány. Soubor ve formátu.jar je jeden soubor obsahující kolekci zazipovaných souborů spolu se souborem manifest, který je popisuje. 32
33 Java Archives Files JAR Files explicitní vyvolání utility jar jar [volby] destination [manifest] inputfile(s) volby jsou skupiny písmen jejich význam je v následující tabulce 33
34 Význam voleb v utilitě jar Volba c t x x file f m Význam Vytváří nový, nebo prázdný archiv (v případě použití jména existujícího archivu) Vrátí tabulku obsahu Extrahuje všechny zazipované soubory Extrahuje pouze uvedený soubor specifikace souboru není-li uvedeno předpoklad stand. vstup, nebo stand. výstup (konzola) Říká, že první argument bude jméno uživatelem vytvořeného souboru manifest v Vytváří komentovaný výstup, popisující co děla jar soubor (upovídaná varianta) 0 Pouze ukládá soubory, neprovádí kompresi. Využití pro uložení souborů do classpath. Rychlejší přístup nula. M Nevytváří automaticky soubor manifest. 34
35 Základní operace se souborem JAR Operace Vytvoření JAR souboru Příkaz jar cf jar-file input-file(s) Prohlédnutí obsahu JAR souboru Extrahování obsahu JAR souboru Extrahování specifikovaných souborů z JAR souboru Spuštění aplikace spakované jako JAR soubor jar tf jar-file jar xf jar-file jar xf jar-file archived-file(s) java jar app.jar 35
36 Práce s JAR soubory Pokud soubory, které se mají uložit do JAR souboru obsahují podadresáře, jsou tyto podadresáře automaticky přidány do JAR souboru, spolu s informací o cestě Typický příklad: jar cf mujjarfile.jar *.class příkaz vytvoří JAR soubor mujjarfile, který obsahuje všechny.class soubory spolu se souborem manifest 36
37 Práce s JAR soubory Podobně jako předchozí příklad, ale s uživatelsky vytvořeným souborem mujmanifestfile.mf jar cmf myjarfile.jar mymanifestfile.mf *.class Vytvoří tabulku obsahu souboru mujjarfile.jar jar tf myjarfile.jar 37
38 Práce s JAR soubory Přidá příznak komentáře (více informací) o zkomprimovaných souborech jar tvf mujjarfile.jar Pokud vytvoříme JAR soubor s volbou 0 (nula), tento JAR soubor bude přidán do classpath Při poklepání na.jar soubor by se tento měl spustit (pokud jsou nastaveny správně příznaky) ke spuštění.jar souboru se používá pouze jre místo jdk 38
39 Příklad TicTacToe TicTacToe.class audio images jar cvf TicTacToe.jar TicTacToe.class audio images jeden soubor a dva kompletní podadresáře, v adresáři TicTacToe 39
40 Prohlížení obsahu JAR souboru jar tf TicTacToe.jar META-INF/MANIFEST.MF TicTacToe.class 40
41 Extrahování obsahu JAR souboru jar xf TicTacToe.jar TicTacToe.class images/cross.gif extrahujeme pouze dva soubory, a to TicTacToe.class a cross.gif z adresáře images jar xf TicTacToe.jar extrahujeme všechny soubory 41
42 java jar app.jar Spuštění aplikace 42
43 Ladění programů - debugger ladění programů možnosti: vlastní výpis lokálních proměnných použití ladícího programu 1. nastavení zarážek (breakpointů) a v místech zastavení programu (možnost prohlížení obsahu všech proměnných, výhodný funkce inspect ) 2. zatrhnout záložku View \ Show debugger 3. spustit v BlueJ metodu main v bodě přerušení debugger, kde se prohlíží proměnné, krokuje program 43
44 Poznámky Nastavení bodů přerušení breatpoints Tool Set/ClearBreakpoint Ctrl B 44
45 Poznámky View Show debugger 45
46 Význam tlačítek Halt slouží k zastavení běžícího programu (zacyklený program) Step krokování, necháte program provést příkaz na který ve zdrojovém textu ukazuje šipka Step Into krokovat dovnitř, podobná funkce jako Step, při provádění metody se zavolá pouze první příkaz metody a pokračuje se v metodě Continue program pokračuje v běhu až do příští zarážky (breakpointu) Terminate ukončení programu 46
47 Poznámky Inspekce objektů 47
48 Jednoduché použití grafiky orientace osy x a y a jejich rozsah daný nastavením v zobrazitelných bodech (800x 600, 1280x1024) Třída Graphics z balíčku java.awt poskytuje různé metody pro zobrazení textu a různých tvarů Třída JPanel z balíčku javax.swing poskytuje prostor pro kreslení 48
49 package graf1; import java.awt.graphics; import javax.swing.jpanel; public class DrawPanel extends JPanel{ public void paintcomponent(graphics g){ super.paintcomponent(g); int sirka = getwidth(); //ziska sirku panelu int vyska = getheight(); //ziska vysku panelu Poznámky Třída vytváří skutečné kreslení DrawPanel je podtřídou třídy JPanel //kresli dve cary z rohu do rohu g.drawline(0, 0, sirka, vyska); g.drawline(0, vyska, sirka, 0); // kresli obdelnik g.drawrect(12, 15, sirka-20, vyska-30); } } 49
50 Třída DrawPanel Každý třída JPanel, tedy i DrawPanel má metodu paintcomponent, kterou systém automaticky volá vždy, když potřebuje zobrazit JPanel jedná se o případy prvního zobrazení, zobrazení po překrytí, zobrazení po změně velikosti metoda má jeden argument typu Graphics který dostaneme od systému, když tuto metodu vyvoláme call back. 50
51 Třída DrawPanel prvním příkazem v každé metodě paintcomponent musí být volání předka, tedy: super.paintcomponent(g); 51
52 package graf1; import javax.swing.jframe; public class DrawPanelTest { public static void main(string[] args) { Poznámky Třída vytvoří okno pro zobrazení kreslení // vytvori panel do ktereho se kresli DrawPanel panel = new DrawPanel(); //vytvori novy frame, ktery sestava z panelu JFrame aplikace = new JFrame(); // nastavi frame - ramec na exit, kdyz je uzavreny aplikace.setdefaultcloseoperation(jframe.exit_on_close); aplikace.add(panel); //prida panel do framu aplikace.setsize(250,250); //nastavi velikost framu aplikace.setvisible(true); //ucini frame viditelnym } } 52
53 Třída DrawPanelTest K zobrazení DrawPanel na obrazovku, potřebujeme window (okno) to vytvoříme pomocí třídy JFrame aplikace.setdefaultcloseoperation(jframe.exit_on_close); způsobí, že aplikace bude ukončena, když uživatel zavře okno aplikace.add(panel); připojí DrawPanel s našim kreslením k JFrame 53
54 Poznámky 54
55 Poznámky 55
56 Grafika - barvy a vyplněné tvary public Color(int r, int g, int b); předdefinované barvy: Color.BLACK, Color.BLUE, Color.CYAN, Color.DARK_GRAY, Color.GRAY, Color.GREEN, Color.LIGHT_GRAY, Color.MAGENTA, Color.ORANGE, Color.PINK, Color.RED, Color.WHITE, Color.YELLOW 56
57 Grafika - barvy a vyplněné tvary metody fillrect, filloval podobné jako drawrect a drawoval: první dva parametry x a y souřadnice levého horního rohu třetí parametr šířka obrazce čtvrtý parametr délka obrazce 57
58 import java.awt.color; import java.awt.graphics; import javax.swing.jpanel; Poznámky public class DrawSmiley extends JPanel { public void paintcomponent( Graphics g ) { super.paintcomponent( g ); // draw the face g.setcolor( Color.YELLOW ); g.filloval( 10, 10, 200, 200 ); // draw the eyes g.setcolor( Color.BLACK ); g.filloval( 55, 65, 30, 30 ); g.filloval( 135, 65, 30, 30 ); // draw the mouth g.filloval( 50, 110, 120, 60 ); // "touch up" the mouth into a smile g.setcolor( Color.YELLOW ); // první obrazek g.fillrect( 50, 110, 120, 30 ); // tyto tri radky g.filloval( 50, 120, 120, 40 ); // jsou komentar } // end method paintcomponent } // end class DrawSmiley 58
59 import javax.swing.jframe; Poznámky public class DrawSmileyTest { public static void main( String args[] ) { DrawSmiley panel = new DrawSmiley(); JFrame application = new JFrame(); } application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); application.add( panel ); application.setsize( 230, 250 ); application.setvisible( true ); } // end main 59
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íce14.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íceProgramové 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íceVytvář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íce11.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ícePř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íceAlgoritmizace 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íce1. 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íceTří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íce10 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íceAlgoritmizace a programování. Terminálový vstup a výstup
Algoritmizace a programování Terminálový vstup a výstup Verze pro akademický rok 2012/2013 1 Výpis hodnot Terminálový vstup a výstup budeme používat jako základní způsob interakce programu s uživatelem
VíceSeminář 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íceJava - 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íce7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená
VíceAplikace s grafickým uživatelským rozhraním
Aplikace s grafickým uživatelským rozhraním 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 1 Typy aplikací Konzolová
VíceProjekty 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íceVýč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íceProgramová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íceProgramová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íceProgramovací jazyk Java
1 z 8 Programovací jazyk Java Enumerace (výčty) Složitější definice výčtového typu Konstanty anonymních typů Výčtový typ a datové struktury Java packaging JAR archivy CLASSPATH Apache Ant 10. přednáška
VíceMichal 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íceJava 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íceGenerické 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íce1 Uživatelská dokumentace
1 Uživatelská dokumentace Systém pro závodění aut řízených umělou inteligencí je zaměřen na závodění aut v prostředí internetu. Kromě toho umožňuje testovat jednotlivé řidiče bez nutnosti vytvářet závod
VíceJava aplety. Předávání parametrů z HTML
Java aplety Aplety jsou speciální formou Java aplikací - mohou být spouštěny z prostředí WWW prohlížeče. Aby je prohlížeč spustil, musíme vložit do HTML stránky potřebné příkazy:
VíceAlgoritmizace 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íceTÉ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íceKTE / ZPE Informační technologie
4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší
VíceMichal 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íce8 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íce24-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íceReliance 3 design OBSAH
Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních
VíceMichal 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íceDeklarace a vytváření
OOPR_10 1 Obsah přednášky Deklarace a tvorba polí, jejich použití Rozšířený příkaz cyklu for Třída Registr a datovým atributem typu pole Třídy Zásobník a Fronta Třída Registr pro uložení objektových a
VíceBridge. 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íce2 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íceAbstraktní 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íceOOPR_05. Případové studie
OOPR_05 Případové studie 1 Přehled probírané látky příklad skládání objektů - čára příklad skládání objektů kompozice a agregace přetížené konstruktory pole jako datový atribut 2 Grafický objekt - čára
Více11 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ícePočí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íceDatové 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íceTextové soubory. alg9 1
Textové soubory Textový soubor je posloupnost znaků členěná na řádky každý znak je reprezentován jedním bytem, jehož obsah je dán nějakým kódováním znaků členění na řádky je závislé na platformě a obvykle
VíceMichal 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íce1. 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ícePokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody
Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Dynamická alokace paměti Jazyky C a C++ poskytují programu možnost vyžádat si část volné operační paměti pro
VíceAbstraktní třída a rozhraní
Abstraktní třída a rozhraní Někdy se může stát, zejména při psaní v hierarchické struktuře hodně nadřazených tříd, že tušíme, že bude ve zděděných třídách vhodné použít nějakou metodu. Tuto metodu ještě
VíceÚ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íceZá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ícetypová 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íceTeoretické 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íceNetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
NetBeans platforma Aplikační programování v Javě (BI-APJ) - 7 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme
VíceTÉ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Ú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íceMichal 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íceObsah. Ú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íceDSL 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íceObsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth
Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
VíceSoubor jako posloupnost bytů
Soubory Soubor je množina údajů uložená ve vnější paměti počítače, obvykle na disku Pro soubor jsou typické tyto operace. otevření souboru čtení údaje zápis údaje uzavření souboru Přístup k údajům (čtení
VíceDUM 06 téma: Tvorba makra pomocí VBA
DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie
Více20. 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íceAccess. Tabulky. Vytvoření tabulky
Access správa databáze (tabulky, relace, omezující podmínky, data...) uživatelské prostředí pro práci s databází (formuláře, sestavy, datové stránky, makra...) ukázková aplikace Northwind hlavní okno databáze
Více3 KTE / ZPE Informační technologie
3 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Komentáře
VíceStatické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
VíceProgramová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íceVý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ícePrvní kroky s METEL IEC IDE
První kroky s poskytuje programování v IEC 61131-3 jazycích, podporuje jak grafickou tak textovou podobu. Umožňuje vytvářet, upravovat a ladit IEC 61131-3 (ST, LD, IL, FBD) programy pro řídicí jednotky
VícePokročilé programování v jazyce C pro chemiky (C3220) Třídy v C++
Pokročilé programování v jazyce C pro chemiky (C3220) Třídy v C++ Třídy v C++ Třídy jsou uživatelsky definované typy podobné strukturám v C, kromě datových položek (proměnných) však mohou obsahovat i funkce
VíceSeznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí
Kolekce obecně Seznamy a iterátory 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 Kolekce ::= homogenní sada prvků
VícePro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.
1 Disky, adresáře (složky) a soubory Disky Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. A:, B: C:, D:, E:, F: až Z: - označení disketových mechanik - ostatní disky
VíceVytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica
Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová 5. Statistica StatSoft, Inc., http://www.statsoft.com, http://www.statsoft.cz. Verze pro Mac i PC, dostupná
VícePřehled probírané látky
OOPR_04 1 Přehled probírané látky asociace (relace) mezi třídami popis množiny spojení mezi objekty skládání objektů - upřesněný typ asociace, vazba mezi objekty kompozice objektů (velmi pevná vazba mezi
VícePříloha 6. Palety nástrojů
Příloha 6. Palety nástrojů Palety nástrojů v IDE poskytují zkrácení pro příkazy nabídky. Příkazy jsou rozděleny do několika palet nástrojů, které mohou být nezávisle přeskupeny nebo vloženy do plovoucích
VíceDynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
Více1. 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íceRMI Remote Method Invocation
2. cvičení RMI Remote Method Invocation 2007/09 ver.2.0 1 RMI co to je? vyvolání metody z jiné JVM lokalizace vzdáleného objektu komunikace se vzdálenými objekty přenos objektu v bytecode typicky klient
VíceSystém souborů (file system, FS)
UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je
VíceJAVA. Krátce o Reflection API
JAVA Krátce o Reflection API 1 Přehled reflection, introspection umožňuje zjišťování informací o třídách, atributech, metodách vytváření objektů volání metod... balík java.lang.reflect třída java.lang.class
Více7 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íce7 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íceTabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář
Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění
Více11. Dědičnost. Dědičnost strana 103
Dědičnost strana 103 11. Dědičnost V této kapitole si vysvětlíme jeden ze základních pojmů objektově orientovaného programování dědičnost (inheritance). S ní souvisejí i následující témata: předek a potomek
VíceInternetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN BASIC
Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN BASIC Modul FADN BASIC je určen pro odbornou zemědělskou veřejnost bez větších zkušeností s internetovými aplikacemi a bez hlubších
Více7 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ícePrincipy 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ícePrincipy 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íce7. 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íceIRAE 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íceRegulární výrazy. Vzory
Regulární výrazy Regulární výrazy jsou určeny pro práci s textovými řetězci, jsou součástí J2SDK až od verze 1.4, v předchozích verzích je potřeba použít některou z externích knihoven, např. knihovnu ORO
VícePREPROCESOR 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íce24. 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íceTematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných
Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VícePokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++
Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++ Dědičnost tříd Dědičnost umožňuje vytvářet nové třídy z tříd existujících tak, že odvozené třídy (tzv. potomci) dědí vlastnosti
VíceClass loader. každá třída (java.lang.class) obsahuje referenci na svůj class loader. Implementace class loaderu
Seminář Java Zavádění tříd Radek Kočí Fakulta informačních technologií VUT Duben 2008 Radek Kočí Seminář Java Zavádění tříd 1/ 16 JVM zavádí třídy dynamicky Class loader objekt schopný zavádět třídy abstraktní
Vícepřetížení operátorů (o)
přetížení operátorů (o) - pro vlastní typy je možné přetížit i operátory (tj. definovat vlastní) - pro definici slouží klíčové slovo operator následované typem/znakem operátoru - deklarace pomocí funkčního
VíceTŘÍ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íceKonstruktory překladačů
Konstruktory překladačů Miroslav Beneš Dušan Kolář Konstruktor Lex generátor lexikálních analyzátorů M. E. Lesk, 1975 - pro OS Unix flex - Vern Paxson, 1990 - GNU verze určeno pro generování výstupu v
VíceTřídy, polymorfismus. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické
Třídy, polymorfismus A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Polymorfizmus ~ vícetvarost Polymorfizmus základní vlastnost objektového přístupu základní princip polymorfismu:
VíceSpráva paměti. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016
Správa paměti Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016 Objektové modelování, B36OMO 10/2016, Lekce 2 https://cw.fel.cvut.cz/wiki/courses/xxb36omo/start
Více