SW_04. Návrhové vzory (Design Patterns)

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

Download "SW_04. Návrhové vzory (Design Patterns)"

Transkript

1 SW_04 Návrhové vzory (Design Patterns) 1

2 Definice vzoru Každý vzor popisuje problém, který nastává opakovaně v našem prostředí, a potom popisuje podstatu řešení tohoto problému takovým způsobem, že můžete použít řešení milionkrát bez toho, že byste dělali stejnou věc dvakrát. Christopher Alexander 2

3 Světlo z obou stran každého pokoje Když mají lidé na výběr, vždy tíhnou k takovým pokojům, do kterých přichází přirozené světlo alespoň ze dvou stran. Při projektování domu, je nejlepší umístit každý pokoj tak, aby měl vnější prostor alespoň ze dvou stran, s dostatkem oken, které by zachycovaly přirozené světlo více než z jednoho směru. 3

4 Literatura Gamma E., Helm R.: Degign Patterns. Addison -Wesley 1995 (český překlad Návrh programů pomocí vzorů. Grada 2003) 4

5 Základní literatura Pecinovský R.: Návrhové vzory. Computer Press 2007 Bruce Eckel: Thinking in Patterns. Buchmann F.: Pattern-Oriented Software Architecture A System of Patterns. Willey 1998 Metsker S.J. Wake W.C.: Design Patterns in Java. Addison-Wesley

6 Existující knihy k Business Patterns 6

7 Úvod Vzory pro návrh, návrhové vzory (Design Patterns) souvislost s objektově orientovanou analýzou a návrhem. Klíčový poje znovupoužitelnost (reusability) Znovupoužitelnost v oblasti objektově orientovaných jazyků části software, které se použijí buď přímo, nebo po malém přizpůsobení využívá se dědičnosti. 7

8 Úvod Znovupoužitelnost je v oblasti objektově orientovaných jazyků použita na úrovni implementace zdrojového kódu. Vzory pro návrh vycházejí z práce zkušeného návrháře, ten nezačíná svoji práci od nuly, ale pokud se mu nějaký způsob řešení osvědčil snaha používat ho znovu a vylepšovat ho. Znovupoužitelnost v oblasti návrhových vzorů znamená znovupoužití znalostí získaných v průběhu návrhu. 8

9 Úvod Znovupoužitelnost je možné chápat v několika úrovních: dědičnost a business objekty (aplikační objekty) znovupoužitelnost na implementační úrovni návrhové vzory znovupoužitelnost v oblasti návrhu nabytých znalostí 9

10 Co je vzor Vzor určuje opakující se (opětovný) návrh problému, který vzniká ve specifických situacích a presentuje nějaké jejich řešení. Vzory reprezentují existující, dobře prověřené zkušenosti návrhu. Vzory identifikují a specifikují abstrakce, které jsou nad úrovní jednotlivých tříd a instancí nebo komponent. Vzory poskytují společný slovník a pochopení principů návrhu. 10

11 Co je vzor Vzory jsou prostředky pro dokumentaci softwarové architektury. Vzory pomáhají obsáhnout složitost software a umožňují srozumitelnost a pochopitelnost software. 11

12 Co je návrhový vzor Návrhový vzor je libovolná znalost, která vznikla při návrhu programového systému abstrakcí od specifických konkrétních podmínek. Nutno doplnit konkrétní fyzickou podobu takovéto znalosti. Forma zápisu vzoru pro návrh není pevně daná, je závislá na tom, čeho se zkušenost kterou chceme vyjádřit návrhovým vzorem týká. 12

13 Forma zápisu Model použitý při návrhu potřebuje slovní komentář, který přesněji specifikuje použité prvky a vazby v modelu a umožní pochopení problému. Nejdůležitějšími charakteristikami tohoto popisu kromě jiných bývají: kontext situace, která způsobuje vznik problému problém opakující se problém vznikající v daném kontextu řešení prověřené řešení problému (někdy alespoň částečné) 13

14 Kontext, problém a řešení kontext: vytvoření programového vybavení s uživatelským grafickým rozhraním problém: obyčejně je problém reprezentovaný množinou někdy protichůdně působících sil např.: uživatelské rozhraní by mělo být snadno modifikovatelné funkční jádro programového vybavení by nemělo být postiženo změnou uživatelského rozhraní 14

15 Kontext, problém a řešení všeobecně síly pomáhají objasnit problém řešení z různých úhlů pohledu a pomáhají tak mu porozumět ve všech detailech síly mohou působit doplňkově nebo protichůdně řešení: ukazuje, jak řešit opakující se problém nebo lépe, jak vyrovnat síly, s ním sdružené. 15

16 Řešení v softwarové architektuře řešení zahrnuje dva aspekty: 1. Každý vzor specifikuje jistou strukturu a prostorovou konfiguraci prvků. Řešení naznačeného problému je v rozdělené aplikace na vlastní zpracování, vstupy, výstupy (MVC). To představuje statickou strukturu řešeného problému. 2. Každý vzor specifikuje chování za běhu (run-time). Např. MVC controller dostane vstup od myši, klávesnice. Událost je transformována na požadavky služeb. 16

17 Řešení Tyto požadavky služeb jsou zaslány buď modelu nebo pohledům. Chování za běhu reprezentuje dynamickou stránku řešení problému. Jak účastníci spolupracují, jak je organizována práce mezi nimi? 17

18 Příklad Před popisem vzoru je třeba vzor identifikovat a abstrahovat od konkrétností. Při návrhu konkrétní aplikace se objevují některé analogie mezi chováním vytvářených objektů (mají shodné stavy a přechody), jejich vazbami na okolní objekty (vystupují v podobných rolích). 18

19 Cesty jak odhalit NV (DP) Postup, který zachycuje vztahy mezi skupinami rolí objektů. Např. benzínová pumpa objekty: zákazník role nakupujícího benzínová pumpa role prodejce auto role příjemce Abstrakcí od detailů dojdeme k návrhu obecného vzoru prodeje (orientujeme se na role). 19

20 Cesty jak odhalit NV (DP) Pro prodej, kýmkoli realizovaný, je typické výskyt tří rolí: prodejce kupující příjemce Zaznamenáním vzájemného vztahu a operací probíhajících mezi těmito třemi aktory, vzniká návrhový vzor. Obecný vzor prodeje je potom možné aplikovat na jakýkoli prodej. 20

21 Formalizace popisu řešení CRC card Class Responsibility Collaborators Class třída, její název Responsibilities funkčnost, zodpovědnost Collaborators spolupracující třídy, komponenty Jiná grafická notace než UML UML grafická notace 21

22 Seznam probíraných vzorů Singleton jedináček Singleton ve společné oblasti (pool) Vrstvy (Layers) 22

23 Problém: Jedináček - Singleton definovat třídy tak, aby uživatel nemohl svobodně ovlivňovat počet jejich instancí chceme např. aby se vytvořila pouze jedna instance dané třídy Kontext: v mnoha aplikacích potřebujeme, aby vznikla pouze jedna instance (objekt) sdílený celou aplikací 23

24 Řešení: Jedináček - Singleton definovat konstruktor jako soukromý private tím je zabezpečeno, že se ke konstruktoru dostaneme pouze prostřednictvím jiné metody, která bude veřejná použít při deklaraci takové třídy modifikátor final, který zabezpečí, že třída již nemůže mít potomky (nedovolí deklaraci dalších podtříd) 24

25 Jedináček - Singleton přímo v deklaraci třídy se vytvoří nová instance (objekt) s daným označením, které je přístupné např. prostřednictvím metody getreference(). metoda pro získání odkazu na jediný objekt, jedináček se deklaruje jako statická, což umožňuje vytvářet instance s využitím názvu třídy 25

26 Grafické znázornění 26

27 public final class Ucet { private int cislo; private int stav; private static Ucet ucetsingleton; // tridni, staticka promenna private Ucet() { // vsechny konstruktory jsou private this(0, 0); Poznámky Účet singleton private Ucet(int cislo, int stav) { this.cislo = cislo; this.stav = stav; // tovarni (factory) metoda pro ziskani instance uctu public static Ucet getinstance(){ if(ucetsingleton == null) ucetsingleton = new Ucet(1, 0); return ucetsingleton; public void vlozeni (int castka) { stav = stav + castka; public int vyber (int castka) { stav = stav - castka; return stav; 27

28 public String tostring() { return String.format("Cislo uctu: %d stav uctu: %d",getcislo(), getstav()); Poznámky Účet singleton 28

29 public class Osoba { private String jmeno; private int roknarozeni; //pripojeni pres tridni promennou private static Ucet ucet = Ucet.getInstance(); // deklarace konstruktoru public Osoba() { this("neuvedeno", 0); public Osoba(String jmeno, int roknarozeni) { this.jmeno= jmeno; this.roknarozeni = roknarozeni; public String tostring() { String tx= String.format("\nJmeno: %s rok narozeni: %4d\nUcet: %s", getjmeno(), getroknarozeni(), ucet.tostring()); return tx; Poznámky Osoba využívá účet 1. varianta třídní proměnná ucet odkazuje na singleton jedináčka účtu public Ucet getucet(){ return ucet; public void vlozeni(int castka){ ucet.vlozeni(castka); public void vyber(int castka) { ucet.vyber(castka); 29

30 public class OsobaX { private String jmeno; private int roknarozeni; //private static Ucet ucet = Ucet.getInstance(); // deklarace konstruktoru public OsobaX() { this("neuvedeno", 0); public OsobaX(String jmeno, int roknarozeni) { this.jmeno= jmeno; this.roknarozeni = roknarozeni; public String tostring() { Ucet ucet = Ucet.getInstance(); String tx= String.format("\nJmeno: %s rok narozeni: %4d\nUcet: %s", getjmeno(), getroknarozeni(), ucet.tostring()); return tx; public Ucet getucet(){ Ucet ucet = Ucet.getInstance(); return ucet; public void vlozeni(int castka){ Ucet ucet = Ucet.getInstance(); ucet.vlozeni(castka); public void tiskucet(){ Ucet ucet = Ucet.getInstance(); System.out.println("Ucet: "+ucet.tostring()); Poznámky Osoba využívá účet 2. varianta v každé metodě se musí deklarovat třídní proměnná ucet odkazující na singleton jedináčka účtu 30

31 public class OsobaTest { public static void main(string[] args) { Osoba o1, o2, o3; OsobaX o11, o12; o1 = new Osoba("Adam", 1988); o2 = new Osoba("Alice", 1922); o3 = new Osoba("Iveta", 1977); o11 = new OsobaX("Silvestr", 1982); o12 = new OsobaX("Renata", 1975); Poznámky OsobaTest o1.vlozeni(300); o2.vyber(200); o12.vyber(50); o11.tisk(); o3.vlozeni(750); o12.vyber(400); o1.tisk(); if(o12.getucet() == o1.getucet()) System.out.println("Ucty jsou stejne"); else System.out.println("Ucty se lisi"); 31

32 Singleton deklarace třídy singletonu final deklarace všech konstruktorů private deklarace třídní proměnné odkazující se na singleton deklarace metody getinstance(), getreference(), getconnection() singleton ve společné oblasti pool např. pro připojení databáze pouze stanovený počet instancí 32

33 public interface Connection { Object get(); void set(object x); Poznámky public class ConnectionImplementation implements Connection { public Object get() { return null; public void set(object s) { ConnectionPool.checkConnection(this); public class EmptyPoolException extends Exception { public EmptyPoolException(String s){ super(s);

34 public class ConnectionPool { //A singleton private static PoolManager pool = new PoolManager(); //private static PoolManager pool; /* public static PoolManager getinstance(){ if(pool == null) pool = new PoolManager(); return pool; // not used declaration - getconnection is the access method */ Poznámky public static void addconnections(int number) { for(int i = 0; i < number; i++) pool.add(new ConnectionImplementation(), i+1); public static Connection getconnection() throws EmptyPoolException { return (Connection)pool.get(); public static void releaseconnection(connection c) { pool.release(c); public static void print() { pool.print();

35 public static void checkconnection(connection c){ pool.checkconnection(c); Poznámky

36 public class PoolManager { private class PoolItem { //inner class boolean inuse = false; int ident; Object item; PoolItem(Object item, int i) { this.item = item; ident = i; public String tostring() { return String.format("ident: %d inuse: %s", ident, inuse? "true" : "false"); // end inner class Poznámky private ArrayList <PoolItem> items = new ArrayList <PoolItem> (); public void add(object item, int id) { items.add(new PoolItem(item, id));

37 public Object get() throws EmptyPoolException { for(int i = 0; i < items.size(); i++) { PoolItem pitem = items.get(i); if(pitem.inuse == false) { pitem.inuse = true; return pitem.item; throw new EmptyPoolException(" No Free Connection "); // return null; // Delayed failure Poznámky

38 public void release(object item) { for(int i = 0; i < items.size(); i++) { PoolItem pitem = (PoolItem)items.get(i); if(item == pitem.item) { pitem.inuse = false; item = null; return; throw new RuntimeException(item + " not found"); Poznámky public void checkconnection(object item){ for(int i = 0; i < items.size(); i++) { PoolItem pitem = (PoolItem)items.get(i); if(item == pitem.item && pitem.inuse == false) throw new RuntimeException(item + " out of function - released "); public void print() { for(int i = 0; i < items.size(); i++) { System.out.println(items.get(i).toString());

39 public class ConnectionPoolDemo { public static void main(string[] args) { ConnectionPool.addConnections(3); Poznámky ConnectionPool.print(); Connection c = null; try { c = ConnectionPool.getConnection(); c.set(new Object()); c.get(); catch (EmptyPoolException e) { //throw new RuntimeException(e); System.err.printf("EmptyPoolException %s\n", e); ConnectionPool.print(); Connection c1 = null; try { c1 = ConnectionPool.getConnection(); c1.set(new Object()); c1.get(); catch (EmptyPoolException e) { //throw new RuntimeException(e); System.err.printf("EmptyPoolException %s\n", e);

40 ConnectionPool.print(); Poznámky Connection c2 = null; try { c2 = ConnectionPool.getConnection(); c2.set(new Object()); c2.get(); catch (EmptyPoolException e) { //throw new RuntimeException(e); System.err.printf("EmptyPoolException %s\n", e); //ConnectionPool.releaseConnection(c); ConnectionPool.print(); Connection c3 = null; Connection c3 = null; try { c3 = ConnectionPool.getConnection(); c3.set(new Object()); c3.get(); catch (EmptyPoolException e) { //throw new RuntimeException(e); System.err.printf("EmptyPoolException %s\n", e);

41 ConnectionPool.print(); ConnectionPool.releaseConnection(c2); c2.set(new Object()); c2.get(); ConnectionPool.print(); c = null; try { c = ConnectionPool.getConnection(); c.set(new Object()); c.get(); catch (EmptyPoolException e) { //throw new RuntimeException(e); System.err.printf("EmptyPoolException %s\n", e); Poznámky ConnectionPool.releaseConnection(c); ConnectionPool.print();

42 Vzor architektury vrstvy (Layers) Vzor Vrstvy (Layers) pomáhá strukturovat aplikace, které mohou být dekomponovány na skupiny podúloh, ve kterých každá skupina podúloh je v dané úrovni abstrakce. Nejznámějším příkladem architektury vrstev jsou síťové protokoly. Protokol se skládá z množiny pravidel a konvencí, které popisují, jak počítačové programy komunikují přes hranice počítačů. Je definován formát, obsah a význam zpráv. 42

43 Vzor architektury vrstvy (Layers) Protokol specifikuje dohody v množství abstraktních úrovní, začínající od přenosu bitů až po nejvyšší úroveň aplikační logiky. 43

44 Jednoduché schema Přístup po vrstvách je považován za lepší než implementace protokolu jako monolitického bloku, protože implementace koncepčně odlišných problémů odděleně přináší několik výhod např. podpora pro týmovou práci, podpora inkrementálního programování. FTP FTP protokol FTP TCP protokol TCP TCP IP protokol IP Ethernet Ethernet protokol Fyzické propojení IP Ethernet 44

45 Kontext Rozsáhlý systém vyžadující dekompozici. Problém Představme si, že navrhujeme systém, jehož dominantní charakteristikou je kombinace nízko a vysoko úrovňových problémů, kde vysoce úrovňové operace závisí na nízko úrovňových. Typickým vzorem komunikačního toku požadavků je, že se pohybují z vysoko úrovňových k nízko úrovňovým. Odpovědi na tyto dotazy mají směr opačný. 45

46 Problém V takovém případě potřebujeme dát do rovnováhy následující síly: pozdější změny kódu by neměly ovlivňovat celý systém. Měly by být svázány s jednou vrstvou. stabilní interface části systému by měly být zaměnitelné. Komponenty by měly mít možnost nahradit alternativní implementace bez účinku na zbytek systému. neexistuje žádná standardní granularita složité komponenty vyžadují další dekompozici 46

47 Řešení Z nejvyšší úrovně je řešení velmi jednoduché. Strukturujte váš systém do vhodného počtu vrstev a umístěte je na vrchol každé předcházející. Začněte nejnižší vrstvou abstrakce. Postupujte směrem nahoru od J-1 vrstvy k vrstvě J, až dosáhnete vrcholu. Většina služeb, které vrstva J poskytuje jsou složené služby poskytované vrstvou J-1. 47

48 Řešení Struktura Hlavní zásadou struktury tohoto vzoru je, že služby Vrstvy_J jsou pouze použity Vrstvou J+1. Neexistuje žádná další závislost mezi vrstvami. Tato struktura může být srovnatelná se zásobníkem. Každá konkrétní vrstva chrání nižší vrstvy od přímého přístupu některé z vyšších vrstev. Klient Vrstva N nejvyšší úroveň abstrakce Vrstva N-1 Vrstva N-1 nejnižší úroveň abstrakce 48

49 Scénáře použití 1. Klient zadává dotaz nejvyšší vrstvě N. Protože tato vrstva nemůže požadavek kompletně splnit, obrací se na vrstvu N-1. Ta pošle další dotaz vrstvě N-2 a tak to pokračuje až k vrstvě 1. Tam jsou vykonány služby na nízké úrovni. Je-li třeba, odpovědi na různé dotazy jsou předány do vrstvy 2, z vrstvy 2, pak do vrstvy 3, až se konečně dostanou k vrstvě N. Je to tzv. top-down komunikace. 49

50 Scénáře použití 2. Tento scénář ilustruje bottom-up komunikaci. Např. když driver zařízení detekuje vstup, začíná se od vrstvy 1. Pak se pokračuje vrstvou 2, až se dosáhne nejvyšší vrstvy N. 50

51 Scénáře použití 3. Tento scénář popisuje situaci, kdy požadavky prochází pouze podmnožinou vrstev. Např. požadavek na nejvyšší úrovni postoupí k úrovni N-1, pokud tato úroveň uspokojí jeho požadavek, dál se již nepokračuje. Příkladem může být cache. 4. Tento scénář je podobný předchozímu jen s tím rozdílem, že se začíná od nejnižší vrstvy a pokračuje se pouze nejvyšší nutné vrstvě. 51

52 Scénáře použití 5. Zahrnuje dva zásobníky komunikujících vrstev. Tento scénář je známý z komunikačních protokolů, kde jsou zásobníky známé jako zásobníky protokolů. 52

53 Implementace 1. Definovat abstraktní kritérium pro seskupení úloh do vrstev. 2. Stanovit počet abstraktních úrovní podle vašeho abstrakčního kritéria. Každá abstrakční úroveň koresponduje s jednou vrstvou vzoru. 3. Pojmenovat vrstvy a přiřadit úlohy ke každé z nich. 4. Specifikovat služby jednotlivých vrstev. 5. Zjemnit vrstvení. 6. Specifikovat rozhraní pro každou vrstvu. 7. Navrhnout strategii ošetření chyb. 53

54 Varianty Relaxed Layered System je méně restriktivní co se týká vztahů mezi vrstvami. V této variantě může každá vrstva využívat služeb libovolné nižší vrstvy. Může také existovat varianta, kdy jednotlivé vrstvy mohou zviditelnit některé služby pro libovolnou z vyšších vrstev a naopak některé služby poskytovat pouze pro nejbližší vyšší vrstvu. Layered Through Inheritance je varianta, která se nachází v některých objektově orientovaných systémech. V této variantě jsou nižší vrstvy implementovány jako základní třídy. 54

55 Známé aplikace Virtuální stroje. Příkladem může být Java Virtual Machine (JVM) definující formát binárního kódu. Protože je JVM je závislý na softwarové platformě, existují různé JVM pro různé operační systémy a procesory. APIs- Application Programming Interface rozhraní aplikačních programů. API je obyčejně kolekce funkčních specifikací (volání systémových funkcí). Informační systém IS. Rovněž informační systémy bývají vytvářeny pomocí architektury založené na vrstvách. 55

56 Výhody Znovupoužitelnost vrstev, dá se využít v případě dobře definované abstrakce a dobře definovaného a dokumentovaného rozhraní. Podpora standardizace. Jasně definované a všeobecně akceptované úrovně abstrakce umožňují rozvoj standardizovaných úloh a rozhraní. Závislosti jsou lokální. Standardizované rozhraní mezi vrstvami obyčejně omezuje změnu kódu pouze na danou vrstvu. Zaměnitelnost. Daná implementovaná vrstva může být zaměněna sémanticky ekvivalentní implementací bez velkého úsilí. 56

57 Slabá místa Kaskádní změny chování může nastat při změně chování dané vrstvy. Nízká efektivnost. Architektura založená na vrstvách je obyčejně méně efektivní než monolitická. Problémy se stanovením správné granularity vrstev. 57

Návrhové vzory Design Patterns

Návrhové vzory Design Patterns Návrhové vzory Design Patterns doc. Ing. František Huňka, CSc. Ostravská univerzita PřF 1 Definice vzoru Každý vzor popisuje problém, který nastává opakovaně v našem prostředí, a potom popisuje podstatu

Více

APNVZ_01. Návrhové vzory Design Patterns

APNVZ_01. Návrhové vzory Design Patterns APNVZ_01 Návrhové vzory Design Patterns 1 Definice vzoru Každý vzor popisuje problém, který nastává opakovaně v našem prostředí, a potom popisuje podstatu řešení tohoto problému takovým způsobem, že můžete

Více

16. února 2015, Brno Připravil: David Procházka

16. února 2015, Brno Připravil: David Procházka 16. února 2015, Brno Připravil: David Procházka Skrývání implementace Základy objektového návrhu Připomenutí návrhu použitelných tříd Strana 2 / 17 Obsah přednášky 1 Připomenutí návrhu použitelných tříd

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řídy a objekty -příklady

Třídy a objekty -příklady Třídy a objekty -příklady 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 Příklad 1 Kvadratická rovnice static void

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

OOPR_05. Případové studie

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

14.4.1. Typický prvek kolekce pro české řazení

14.4.1. Typický prvek kolekce pro české řazení 14.4. Co všechno by měl mít typický prvek kolekce 177 Poznámka: Třídy BigInteger, BigDecimal a Date budou vysvětleny v částech [15./183, [16./185 a [18.1./204. 14.4.1. Typický prvek kolekce pro české řazení

Více

OOPR_05. Případové studie

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

Poznámky k verzi Remote Support Platform 3.0

Poznámky k verzi Remote Support Platform 3.0 Poznámky k verzi Remote Support Platform for SAP Business One Verze dokumentu: 1.0 2012-10-08 VEŘEJNÉ Poznámky k verzi Remote Support Platform 3.0 Všechny státy Typografické konvence Styl typu Příklad

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

Implementační rozdíly ve vývoji IS při použití bezschémové a relační databáze

Implementační rozdíly ve vývoji IS při použití bezschémové a relační databáze Implementační rozdíly ve vývoji IS při použití bezschémové a relační databáze Antonín Daněk Katedra počítačové grafiky a interakce Fakulta elektrotechnická České vysoké učení technické v Praze Červen 20,

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

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

Operační systém teoreticky

Operační systém teoreticky Přednášky o výpočetní technice Operační systém teoreticky Adam Dominec 2010 Rozvržení Operační systém Uživatelské účty Správa RAM Plánování procesů Knihovny Okna Správa zařízení Rozvržení Operační systém

Více

BlueJ a základy OOP. Programování II 1. cvičení Alena Buchalcevová

BlueJ a základy OOP. Programování II 1. cvičení Alena Buchalcevová BlueJ a základy OOP Programování II 1. cvičení Alena Buchalcevová Konzultační hodiny v ISu doc. Alena Buchalcevová Po 14:00-15:00 NAR 220 2 Cíle 1. cvičení pochopit pojmy: třída instance konstruktor metoda

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

SIS INSTALAČNÍ PŘÍRUČKA (SITE INFORMATION SYSTEM) Datum vytvoření: 20.8.2014 Datum aktualizace: 1.5.2016 Verze: v 1.3 Reference:

SIS INSTALAČNÍ PŘÍRUČKA (SITE INFORMATION SYSTEM) Datum vytvoření: 20.8.2014 Datum aktualizace: 1.5.2016 Verze: v 1.3 Reference: SIS (SITE INFORMATION SYSTEM) INSTALAČNÍ PŘÍRUČKA Připravil: AdiNet s.r.o. Datum vytvoření: 20.8.2014 Datum aktualizace: 1.5.2016 Verze: v 1.3 Reference: Kapitola 1 - Řízení dokumentu 2002 1.1 Záznam změ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

RMI Remote Method Invocation

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

MS WORD 2007 Styly a automatické vytvoření obsahu

MS WORD 2007 Styly a automatické vytvoření obsahu MS WORD 2007 Styly a automatické vytvoření obsahu Při formátování méně rozsáhlých textů se můžeme spokojit s formátováním použitím dílčích formátovacích funkcí. Tato činnost není sice nijak složitá, ale

Více

Novinky v Maple T.A. 10

Novinky v Maple T.A. 10 Novinky v Maple T.A. 10 Maple T.A. 10 je nová verze aplikace Maple T.A., jejíž nová funkcionalita je zejména založena na požadavcích uživatelů z řad studentů, instruktorů, administrátorů. Došlo k rozšíření

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

Objektově orientované programování 1 XOBO1. Autor: Doc. Ing. František Huňka, CSc.

Objektově orientované programování 1 XOBO1. Autor: Doc. Ing. František Huňka, CSc. Objektově orientované programování 1 XOBO1 Autor: Doc. Ing. František Huňka, CSc. 1 Seznam kapitol 1 Základní pojmy...3 1.1 Úvod do tříd a objektů...3 1.2 Vývojové prostředí...7 1.3 Jednotný modelovací

Více

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

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

E-ZAK. metody hodnocení nabídek. verze dokumentu: 1.1. 2011 QCM, s.r.o.

E-ZAK. metody hodnocení nabídek. verze dokumentu: 1.1. 2011 QCM, s.r.o. E-ZAK metody hodnocení nabídek verze dokumentu: 1.1 2011 QCM, s.r.o. Obsah Úvod... 3 Základní hodnotící kritérium... 3 Dílčí hodnotící kritéria... 3 Metody porovnání nabídek... 3 Indexace na nejlepší hodnotu...4

Více

2.4.11 Nerovnice s absolutní hodnotou

2.4.11 Nerovnice s absolutní hodnotou .. Nerovnice s absolutní hodnotou Předpoklady: 06, 09, 0 Pedagogická poznámka: Hlavním záměrem hodiny je, aby si studenti uvědomili, že se neučí nic nového. Pouze používají věci, které dávno znají, na

Více

OMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC

OMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC OMO 4 - Creational design patterns A Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC Ing. David Kadleček, PhD. kadlecd@fel.cvut.cz, david.kadlecek@cz.ibm.com 1 Creational

Více

Mobilní aplikace pro ios

Mobilní aplikace pro ios Předběžná zadávací dokumentace k projektu: Mobilní aplikace pro ios Kontaktní osoba: Jan Makovec, makovec@ckstudio.cz Obsah Cíl projektu... 2 Obrazovky aplikace... 2 Základní prostředí aplikace... 2 Intro...

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

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo

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

Úvod do programovacích jazyků (Java)

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

Více

INTEGROVANÁ STŘEDNÍ ŠKOLA TECHNICKÁ BENEŠOV Černoleská 1997, 256 01 Benešov. Tematický okruh. Ročník 1. Inessa Skleničková. Datum výroby 21.8.

INTEGROVANÁ STŘEDNÍ ŠKOLA TECHNICKÁ BENEŠOV Černoleská 1997, 256 01 Benešov. Tematický okruh. Ročník 1. Inessa Skleničková. Datum výroby 21.8. Číslo projektu Název školy Předmět CZ.107/1.5.00/34.0425 INTEGROVANÁ STŘEDNÍ ŠKOLA TECHNICKÁ BENEŠOV Černoleská 1997, 256 01 Benešov IKT Tematický okruh Téma Ročník 1. Autor Počítač Datum výroby 21.8.2013

Více

Úložiště elektronických dokumentů GORDIC - WSDMS

Úložiště elektronických dokumentů GORDIC - WSDMS Úložiště elektronických dokumentů GORDIC - WSDMS pro verzi 3.66, verze dokumentu 1.0 GINIS Gordic spol. s r. o., Erbenova 4, Jihlava Copyright 2011, Všechna práva vyhrazena 1 Úložiště elektronických dokumentů

Více

IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE

IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE Nové formy výuky s podporou ICT ve školách Libereckého kraje IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE Podrobný návod Autor: Mgr. Michal Stehlík IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE 1 Úvodem Tento

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

KTE / ZPE Informační technologie

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

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

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448 Střední odborná škola elektrotechnická, Centrum odborné přípravy Zvolenovská 537, Hluboká nad Vltavou Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448 CZ.1.07/1.5.00/34.0448 1 Číslo projektu

Více

PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK

PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK Autor: Josef Fröhlich Verze dokumentu: 1.1 Datum vzniku: 4.4.2006 Datum poslední úpravy: 10.4.2006 Liberecká IS, a.s.;jablonecká 41; 460 01 Liberec V; IČ: 25450131;

Více

Název: VY_32_INOVACE_PG3309 Booleovské objekty ve 3DS Max - sčítání a odčítání objektů

Název: VY_32_INOVACE_PG3309 Booleovské objekty ve 3DS Max - sčítání a odčítání objektů Název: VY_32_INOVCE_PG3309 ooleovské objekty ve 3DS Max - sčítání a odčítání objektů utor: Mgr. Tomáš Javorský Datum vytvoření: 05 / 2012 Ročník: 3 Vzdělávací oblast / téma: 3D grafika, počítačová grafika,

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

Aplikační rozhraní pro geografickou datovou sadu židovských hřbitovů

Aplikační rozhraní pro geografickou datovou sadu židovských hřbitovů Aplikační rozhraní pro geografickou datovou sadu židovských hřbitovů Lenka Reinwartová Západočeská univerzita v Plzni, Fakulta aplikovaných věd, Katedra matematiky, Geomatika e-mail: lreinwart@gmail.com

Více

Historie výpočetní techniky Vývoj počítačů 4. generace. 4. generace mikroprocesor

Historie výpočetní techniky Vývoj počítačů 4. generace. 4. generace mikroprocesor 4. generace mikroprocesor V roce 1971 se podařilo dosáhnout takové hustoty integrace (množství součástek v jednom obvodu), která umožňovala postavení celého mozku počítače z jednoho obvodu tento obvod

Více

Dopravní úloha. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Dopravní úloha. Jiří Neubauer. Katedra ekonometrie FEM UO Brno Přednáška č. 9 Katedra ekonometrie FEM UO Brno Distribuční úlohy Budeme se zabývat 2 typy distribučních úloh dopravní úloha přiřazovací problém Dopravní úloha V dopravním problému se v typickém případě

Více

PC, POWER POINT, dataprojektor

PC, POWER POINT, dataprojektor Název školy Číslo projektu Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Střední škola hotelová a služeb Kroměříž CZ.1.07/1.5.00/34.0911 Ing. Anna Grussová VY_32_INOVACE 29_MAR

Více

2.8.9 Parametrické rovnice a nerovnice s absolutní hodnotou

2.8.9 Parametrické rovnice a nerovnice s absolutní hodnotou .8.9 Parametrické rovnice a nerovnice s absolutní hodnotou Předpoklady: 0,, 806 Pedagogická poznámka: Opět si napíšeme na začátku hodiny na tabuli jednotlivé kroky postupu při řešení rovnic (nerovnic)

Více

11. Dědičnost. Dědičnost strana 103

11. 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íce

Podpora personálních procesů v HR Vema

Podpora personálních procesů v HR Vema Podpora personálních procesů v HR Vema Portálové řešení aplikací Řízení procesů s využitím workflow Personální procesy Nástup a změna pracovního zařazení Hodnocení zaměstnanců Rozdělování odměn Plánování

Více

Microsoft Office. Word styly

Microsoft Office. Word styly Microsoft Office Word styly Karel Dvořák 2011 Styly Používání stylů v textovém editoru přináší několik nesporných výhod. Je to zejména jednoduchá změna vzhledu celého dokumentu. Předem připravené styly

Více

Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 1 (celkem 7) Číselné soustavy

Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 1 (celkem 7) Číselné soustavy Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana (celkem 7) Polyadické - zobrazené mnohočlenem desítková soustava 3 2 532 = 5 + 3 + 2 + Číselné soustavy Číslice tvořící zápis čísla jsou vlastně

Více

Každý jednotlivý záznam datového souboru (tzn. řádek) musí být ukončen koncovým znakem záznamu CR + LF.

Každý jednotlivý záznam datového souboru (tzn. řádek) musí být ukončen koncovým znakem záznamu CR + LF. Stránka 1 z 6 ABO formát Technický popis struktury formátu souboru pro načtení tuzemských platebních příkazů k úhradě v CZK do internetového bankovnictví. Přípona souboru je vždy *.KPC Soubor musí obsahovat

Více

Kvadratické rovnice pro učební obory

Kvadratické rovnice pro učební obory Variace 1 Kvadratické rovnice pro učební obory Autor: Mgr. Jaromír JUŘEK Kopírování a jkaékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Kvadratické

Více

Java Výjimky Java, zimní semestr

Java Výjimky Java, zimní semestr Java Výjimky 1 Výjimky (exceptions) hlášení a ošetření chyb výjimka signalizuje nějaký chybový stav výjimka = instance třídy java.lang.throwable dvě podtřídy java.lang.error a java.lang.exception konkrétní

Více

5 Rekurze a zásobník. Rekurzivní volání metody

5 Rekurze a zásobník. Rekurzivní volání metody 5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení

Více

Obchodní řetězec Dokumentace k návrhu databázového systému

Obchodní řetězec Dokumentace k návrhu databázového systému Mendelova univerzita v Brně, Provozně ekonomická fakulta Obchodní řetězec Dokumentace k návrhu databázového systému 1. Úvod Cílem této práce je seznámit čtenáře s návrhem databázového systému Obchodní

Více

1.3.1 Kruhový pohyb. Předpoklady: 1105

1.3.1 Kruhový pohyb. Předpoklady: 1105 .. Kruhový pohyb Předpoklady: 05 Předměty kolem nás se pohybují různými způsoby. Nejde pouze o přímočaré nebo křivočaré posuvné pohyby. Velmi často se předměty otáčí (a některé se přitom pohybují zároveň

Více

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448 Střední odborná škola elektrotechnická, Centrum odborné přípravy Zvolenovská 537, Hluboká nad Vltavou Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448 CZ.1.07/1.5.00/34.0448 1 Číslo projektu

Více

ČESKÁ TECHNICKÁ NORMA

ČESKÁ TECHNICKÁ NORMA ČESKÁ TECHNICKÁ NORMA ICS 35.240.20 2003 Informační technologie - Specifikace architektury otevřeného terminálu (OTA) - Specifikace virtuálního stroje ČSN ISO/IEC 20060 36 9832 Květen Information technology

Více

Post-Processingové zpracování V módu post-processingu je možné s tímto přístrojem docílit až centimetrovou přesnost z běžné 0,5m.

Post-Processingové zpracování V módu post-processingu je možné s tímto přístrojem docílit až centimetrovou přesnost z běžné 0,5m. Výjimečná EVEREST technologie Aplikovaná EVEREST technologie pro dobrou ochranu vícecestného šíření GNSS signálu a pro spolehlivé a přesné řešení. To je důležité pro kvalitní měření s minimální chybou.

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

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu Výuka moderně Registrační číslo projektu: CZ.1.07/1.5.00/34.0205 Šablona: III/2 Informační

Více

Umělá inteligence. Příklady využití umělé inteligence : I. konstrukce adaptivních systémů pro řízení technologických procesů

Umělá inteligence. Příklady využití umělé inteligence : I. konstrukce adaptivních systémů pro řízení technologických procesů Umělá inteligence Pod pojmem umělá inteligence obvykle rozumíme snahu nahradit procesy realizované lidským myšlením pomocí prostředků automatizace a výpočetní techniky. Příklady využití umělé inteligence

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

, Brno Připravil: David Procházka Návrhové vzory

, Brno Připravil: David Procházka Návrhové vzory 7. 10. 2010, Brno Připravil: David Procházka Návrhové vzory Základy objektově orientovaného návrhu Design Patterns NV (Design patterns) můžeme s nadsázkou označit za ntu, jak řešit určitý problém nejen

Více

Identifikátor materiálu: ICT-1-06

Identifikátor materiálu: ICT-1-06 Identifikátor materiálu: ICT-1-06 Předmět Informační a komunikační technologie Téma materiálu Základní pojmy Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí základní pojmy jako hardware,

Více

APSLAN. Komunikační převodník APS mini Plus <-> Ethernet nebo WIEGAND -> Ethernet. Uživatelský manuál

APSLAN. Komunikační převodník APS mini Plus <-> Ethernet nebo WIEGAND -> Ethernet. Uživatelský manuál APSLAN Komunikační převodník APS mini Plus Ethernet nebo WIEGAND -> Ethernet Uživatelský manuál 2004 2014, TECHFASS s.r.o., Věštínská 1611/19, 153 00 Praha 5, www.techfass.cz, techfass@techfass.cz

Více

GIS HZS ČR pro ORP a přednostní připojení k veřejné komunikační síti

GIS HZS ČR pro ORP a přednostní připojení k veřejné komunikační síti GIS HZS ČR pro ORP a přednostní připojení k veřejné komunikační síti plk. Ing Jan Brothánek jan.brothanek@grh.izscr.cz MV GŘ HZS ČR Obsah Co je to GIS? Historie GIS HZS ČR Segmentace GIS HZS ČR Tenký mapový

Více

Přehled probírané látky

Př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íce

Návod na připojení do WiFi sítě eduroam Microsoft Windows XP

Návod na připojení do WiFi sítě eduroam Microsoft Windows XP Návod na připojení do WiFi sítě eduroam Microsoft Windows XP Každý student a zaměstnanec UTB má možnost připojit se do bezdrátové sítě eduroam. Tento dokument obsahuje návod, jak se připojit do WiFi sítě

Více

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance

Více

Abstraktní třída a rozhraní

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

4.2.7 Voltampérová charakteristika rezistoru a žárovky

4.2.7 Voltampérová charakteristika rezistoru a žárovky 4.2.7 Voltampérová charakteristika rezistoru a žárovky Předpoklady: 4205 Pedagogická poznámka: Tuto hodinu učím jako běžnou jednohodinovku s celou třídou. Některé dvojice stihnou naměřit více odporů. Voltampérová

Více

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text()); Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového

Více

STRUKTUROVANÉ UČENÍ. Příklady vzdělávací práce u žáků s poruchami autistického spektra v naší škole

STRUKTUROVANÉ UČENÍ. Příklady vzdělávací práce u žáků s poruchami autistického spektra v naší škole STRUKTUROVANÉ UČENÍ Příklady vzdělávací práce u žáků s poruchami autistického spektra v naší škole STRUKTUROVANÉ UČENÍ V naší škole využíváme při vzdělávání žáků s PAS metodiku práce nazvanou strukturované

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

Objektově orientované programování

Objektově orientované programování Objektově orientované programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 7 A0B36PR1 Programování 1 Jan Faigl, 2015 A0B36PR1 Přednáška 7: Objektově

Více

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML Obsah přednášky Webové služby a XML Miroslav Beneš Co jsou to webové služby Architektura webových služeb SOAP SOAP a Java SOAP a PHP SOAP a C# Webové služby a XML 2 Co jsou to webové služby rozhraní k

Více

Virtuální přístroje. Použití grafického programování v LabVIEW. Ing. Pavel Mlejnek

Virtuální přístroje. Použití grafického programování v LabVIEW. Ing. Pavel Mlejnek Virtuální přístroje Použití grafického programování v LabVIEW Ing. Pavel Mlejnek mlejnp1@fel.cvut.cz Grafické programování LabVIEW Základní informace Principy grafického programování Vývojové prostředí

Více

( ) 2.4.4 Kreslení grafů funkcí metodou dělení definičního oboru I. Předpoklady: 2401, 2208

( ) 2.4.4 Kreslení grafů funkcí metodou dělení definičního oboru I. Předpoklady: 2401, 2208 .. Kreslení grafů funkcí metodou dělení definičního oboru I Předpoklady: 01, 08 Opakování: Pokud jsme při řešení nerovnic potřebovali vynásobit nerovnici výrazem, nemohli jsme postupovat pro všechna čísla

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

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

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

Programování II 1. přednáška. Alena Buchalcevová

Programování II 1. přednáška. Alena Buchalcevová Programování II 1. přednáška Alena Buchalcevová Cíle kurzu Seznámit se s principy objektově orientovaného programování v jazyce Java Základní seznámení s objekty Třídy a instance Volání metod, datové atributy

Více

Počítačové zpracování řeči a možnosti jeho využití ve státní správě

Počítačové zpracování řeči a možnosti jeho využití ve státní správě Počítačové zpracování řeči a možnosti jeho využití ve státní správě Josef Psutka Katedra kybernetiky, Fakulta aplikovaných věd Západočeská univerzita v Plzni 26.9 2006 1 Řečové technologie možnosti využití

Více

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33 Objekt jako proměnná Objekty a metody Objekt = proměnná referenčního typu vznik pomocí new, chování viz pole jako referenční proměnná minulý semestr Stack Heap objekt ref this 10 20 atr1 atr2 jinyobjekt

Více

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů Infrastruktura UML v UML Karel Richta listopad 2011 Richta: B101TMM - v UML 2 Superstruktura UML Směr pohledu na systém dle UML Diagramy popisující strukturu diagramy tříd, objektů, kompozitní struktury,

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

Příklady a návody. Databázová vrstva

Příklady a návody. Databázová vrstva Příklady a návody Databázová vrstva Konceptuální datový model Popis dat.struktur pomocí entit, atributů, vazeb a integritních omezení ER-model nebo OO-diagramy (class diagram) ER model zdůrazňuje vztahy

Více

Google AdWords - návod

Google AdWords - návod Google AdWords - návod Systém Google AdWords je reklamním systémem typu PPC, který provozuje společnost Google, Inc. Zobrazuje reklamy ve výsledcích vyhledávání či v obsahových sítích. Platí se za proklik,

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_33_12 Škola Střední průmyslová škola Zlín Název projektu, reg. č. Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávací oblast Vzdělávání v informačních a komunikačních

Více

Pravidla pro publicitu v rámci Operačního programu Doprava

Pravidla pro publicitu v rámci Operačního programu Doprava Pravidla pro publicitu v rámci Operačního programu Doprava Prioritní osa 7 -Technická pomoc Praha - prosinec 2010 Verze 1.0 Ministerstvo dopravy www.opd.cz OBSAH Úvod...3 Obecná pravidla...4 Legislativní

Více

Seminář Java IV p.1/38

Seminář Java IV p.1/38 Seminář Java IV Seminář Java IV p.1/38 Rekapitulace Deklarace tříd Proměnné, metody, konstruktory, modifikátory přístupu Datové typy primitivní, objektové, pole Dědičnost Řídící konstrukce Podmínky, cykly

Více

Návrhové vzory OMO, LS 2014/2015

Návrhové vzory OMO, LS 2014/2015 Návrhové vzory OMO, LS 2014/2015 Motivace Cílem objektového návrhu je strukturu aplikace navrhnout tak, aby splňovala následující kritéria: snadná rozšiřitelnost účelnost testovatelnost dokumentovatelnost

Více

Kvadratické rovnice pro studijní obory

Kvadratické rovnice pro studijní obory Variace 1 Kvadratické rovnice pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Kvadratické

Více

1. Programování, typy programovacích jazyků, historie.

1. Programování, typy programovacích jazyků, historie. 1. Programování, typy programovacích jazyků, historie. třída Console metody Write, WriteLina, ReadLine, ResetColor vlastnosti ForegroundColor, Backgroundcolor třída Form objekt Label vlastnost Text význam

Více

Manuál TimNet Boiler

Manuál TimNet Boiler Manuál TimNet Boiler Detailní popis: Ovládání teploty užitkové vody v bojleru zajišťuje termostatický modul. Pomocí něj docílíte, aby byla voda v bojleru nahřáta na přesně stanovenou požadovanou teplotu.

Více