JAVA. Krátke poznámky:
|
|
- Michal Liška
- před 8 lety
- Počet zobrazení:
Transkript
1 JAVA Krátke poznámky: Vše je definováno ve třídách; Žádné funkce mimo třídy Skoro všetko je objekt, výnimka sú premenné (napr. int) Neexistuje operátor delete Rušenie objektov výlučne cez Garbage Collector Tesne pred deštrukciou objektu sa zavolá finalize, nie je to deštruktor, nie je záruka jeho zavolania Implicitní hodnoty Atributy: boolean false, ostatní primitivní typy 0, reference - null Pozor, lokální proměnné nejsou inicializovány chyba při překladu Předávání parametrů hodnotou, predávanie objektov cez referenciu Balík (package) obdoba v C++ namespace "obdoba knihoven" každá třída patří do právě jednoho balíku příslušnost k balíku: package jmenobaliku triedy z iného balíka: import jmenobaliku.jmenotridy balík java.lang je importován vždy Verejné a neverejné triedy Každá veřejná (public) třída jeden soubor neveřejné třídy (bez public) viditelné pouze ze svého balíku Priradenie: int x = 1 (opačne nejde) Primitivní typy kopírování hodnoty (včetne String) Objekty kopírování reference na objekt Přetečení a podtečení jsou tichá negeneruje se žádná výjimka max -> min pri pretečení a opačne Porovnanie rôznych referencií (aj keby tá istá hodnota) = vždy false int x1 = new Integer(7); // je tiež referencia, ale pri priradení kopíruje hodnotu Logické operátory: skrátené aj neskrátené vyhodnocovanie (& vs. &&) Operátor čárka, jedine vo for cykle: for (int i=1,j=1; i<5; i++, j=i*10) Label, návestie: label: vnejsi-cyklus { vnitrni-cyklus { break; continue; continue label; break label; vždy má tvar: označenie: (označenie, dvojbodka); za ním následuje cyklus slúži na riadenie vonkajších cyklov z cyklu vnútorného goto sa nepoužíva (rezervované slovo) Trieda [public] [abstract] [final] class Jmeno [extends Predek] [implements SeznamInterfacu] {... maximálne 1 predok; interfaceov môže byť viac final nelze vytvářet potomky final pre atribúty - po inicializácii nejde do nich nič priradiť konstruktor: modifikátor pouze viditelnost (public / private / protected) více konstruktorů - různé parametry
2 konstruktor předka super() jiný konstruktor stejného objektu - this() vždy se nejdřív volá konstruktor předka, i když není explicitně uveden static inicializátor: class MyClass { static int a; static { a = 10;... ne-static inicializátor: class MyClass { int a; { a = 5;... třída java.lang.object každá třída je jejím potomkem, jediná třída která nemá předka public / protected / private Public: viditelné odkudkoliv (pokud je viditelná i třída) Protected: viditelné ve stejném balíku a v potomcích Private: viditelné jen ve třídě, kde jsou definovány Bez uvedení: viditelné ve stejném balíku Není modifikátor virtual - všechny metody jsou virtuální statické metody nejsou virtuální super - přístup k členům přímého předka; nelze použít super.super; Interface - pouze definice rozhraní, žádná implementace atributy musejí být inicializovány ( int a = 5; ); môžu aj dediť: interface Iface3 extends Iface1, Iface2 {... Třída musí implementovat všechny metody interface neplatí pro abstract třídy - nie je nutné implementovať všetky metódy abstraktnej triedy v abstraktnej triede už môžu byť metódy aj implementované statická inicializácia poľa: int[] a = { 1, 2, 3, 4, 5 dynamická inicializácia poľa: int[] array = new int [10]; pole: vždy se kontrolují meze nelze vypnout - ArrayIndexOutOfBoundException String: nemeniteľný + operátor spojování řetězců; jediný preťažený operátor v Jave konštruktor napr. String(char[] value) equals pre porovnanie, nepoužívať ==! Implementace metod se hledají dynamicky za běhu Abstraktní metody nesmí být static ani private a mohou být jen v abstraktní třídě boolean - není možné přetypovat: (int) true, (boolean) 1! Výnimky java.lang.error "nezotavitelné" chyby, neměly by se odchytávat, OutOfMemoryError java.lang.exception - indikují zotavitelné chyby, lze je odchytávat, ArrayIndexOutOfBounds obaja potomci java.lang.throwable pokud se výnimka dostane až do main() a není odchycena, způsobí ukončení interpretu Javy metoda, která může způsobit výjimku musí výjimku odchytit, nebo specifikovat typ výjimky pomocí throws, napr. IOException neplatí pre potomkov java.lang.error a java.lang.runtimeexception java.lang.runtimeexception je potomok java.lang.exception napr. ArrayIndexOutOfBoundException Reťazenie výnimiek reakce na výjimku jinou výjimkou
3 v některých případech jedna výjimka může potlačit jinou výjimku - to už nie je reťazenie try {... catch (Exception1 e) {... throw new Exception2(e); Vvšechny primitivní typy v Javě kromě charu jsou signed a mají přesně daný počet bytů (napr. byte má 1B, int 4B) v metodě main(), parametr args[] obsahuje jen parametry, nikoliv jméno třídy nebo programu na pozici 0; na rozdiel od napr. C++ Unicode escape sekvence: \u A prekladá sa ešte pred samotným prekladom zvyškú kódu Zápisy hodnôt atribútov; tzv. literály (napr. false), príklady: 1L = longový zápis 3.2e-4 double (čokoľvek s bodkou) 2.34f float 1234_5678 podtržítka sa ignorujú pri preklade Vnorené triedy vonkajšia môže vraciať referenciu na vnútornú instance vnitřní třídy může přistupovat ke všem položkám pre anonymnú triedu to funguje len, keď je vonkajšia final nelze vytvořit objekt vnitřní třídy bez objektu vnější třídy pri dedení od vnútornej triedy je nutné explicitne uviesť referenciu na vonkajšiu triedu, napr. class InheritInner extends Vonkajsia.Vnutorna { InheritInner(Vonkajsia xx) { xx.super(); // konštruktor proste musí byť takto uvedený, inak chyba pri preklade statické vnitřní třídy nemají referenci na objekt vnější třídy => může mít statické metody a atributy nestatická vnitřní třída nemůže mít statické členy x ^= y; je bitový x xor y, prideliť do x Integer.MAX_VALUE Threads hlavné vlákno je vždy main() možno vytvárať aj ďalšie; podpora priamo v jazyku Vytváranie nových vláken dědění od třídy java.lang.thread předefinování metody void run(); vlákno se spustí zavoláním metody start() implementování interface java.lang.runnable jediná metoda void run() - objekt ji implementuje vytvoření vlákna: new Thread(new myrunnable()).start() Metódy riadenia yield() - doporučenie pre pozastavenie vlákna, aby mohlo ísť iné vlákno sleep(int milis, int nanos) príp. len milis, musí ošetriť InterruptedException setpriority(int newpriority); int getpriority() => určovanie a získanie priority vláken, ide o konštanty (10=max, 5=normal, nemali by byť medzistupne...) setdaemon(boolean daemon); boolean isdaemon()
4 S každou instancí objektu je asociován jeden zámek; s každou třídou je asociován jeden zámek Synchronized ako modifikátor metody: chová se stejně jako příkaz synchronized vlákno než začne vykonávat metodu musí získat zámek na objektu static synchronized metody - získává se zámek asociovaný se třídou void wait() lze volat jen pokud volající vlákno drží zámek na daném objektu vloží vlákno do fronty čekajících vláken; stratí zámok v tej chvíli notify() - "probudí" jedno (nějaké) vlákno z fronty čekajících (pokud není prázdná) void notifyall() probudí všechna vlákna ve frontě metoda sleep() neuvolňuje zámek! Zastavenie vlákna je deprecated (z iného vlákna) Skupiny vláken vlákna patří do skupiny vláken třída ThreadGroup skupina vláken může obsahovat jak vlákna tak další skupiny vláken java object equals; hashcode() - tu platí, čo má rovnaký equals, má rovnaký hashcode; metóda tostring(); Kolekce ~ objekt obsahující jiné objekty Collection<E> skupina jednotlivých prvků List<E> drží prvky v nějakém daném pořadí Set<E> každý prvek obsahuje právě jednou Map<K,V> skupina dvojic klíč hodnota metódy, napr. add(), contains(), clear(), isempty(), size() pro každý druh kolekce existuje alespoň jedna implementace (napr. ArrayList, LinkedList pre List<E>) Kolekce nemusí přímo podporovat přístup k prvkům => iterátor Iterator<E> iterator(); E next(); boolean hasnext(); void remove(); Většina kolekcí není bezpečná vůči vláknům java.util.arrays - pre prácu s poliami void sort(typ[] arr, int from, int to); enum normální třída má atributy, metody, i metodu main potomek třídy java.lang.enum vlastný konštruktor, ale volanie iné (nie pri new) public enum Color { BLUE, RED, GREEN public Color clr = Color.BLUE; implementácia: class Color { private int value; public static final Color RED = new Color(0); public static final Color GREEN = new Color(1); public static final Color BLUE = new Color(2); protected Color(int v) { value = v;
5 Príklad s planétami : public enum Planet { MERCURY (3.303e+23, e6), VENUS (4.869e+24, e6), EARTH (5.976e+24, e6); private final double mass; private final double radius; Planet(double mass, double radius){ this.mass = mass; this.radius = radius; Priradenie - jednoduché: Planet pl = Planet.EARTH; Príklad s metódou v enum-e: double eval(double x, double y){ switch(this) { case PLUS: return x + y; case MINUS: return x - y;... { Dosiahnuteľnosť: int x=10; // dosazitelne je x { int y=11; // dosazitelne je x i y // dosazitelne je pouze x
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íceJava 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íceDefinice 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íceDefinice 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íceJava Řetězce Java, zimní semestr
Java Řetězce 1 Řetězec instance třídy java.lang.string kompilátor s nimi zachází téměř jako s primit. typy řetězcové konstanty = instance třídy String nezměnitelné!!! pro změny třídy StringBuffer, StringBuilder
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í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í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íce4. ZÁKLADNÍ POJMY Z OBJEKTOVĚ ORIENTOVANÉHO PROGRAMOVÁNÍ
4. ZÁKLADNÍ POJMY Z OBJEKTOVĚ ORIENTOVANÉHO PROGRAMOVÁNÍ OBJEKT Program v Javě je staticky strukturován na třídy, jejichž instance (objekty) za běhu dynamicky programu vznikají a zanikají. Objekt je nejprve
VíceSeminář 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í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í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í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íceÚvodní informace. Petr Hnětynka 2/2 Zk/Z
JAVA Úvod Úvodní informace Petr Hnětynka hnetynka@d3s.mff.cuni.cz http://d3s.mff.cuni.cz/~hnetynka/java/ 2/2 Zk/Z zkouška písemný test zápočet zápočtový test u počítače max 5 opakování zápočtový program
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í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íceÚvodní informace. Petr Hnětynka 2/2 Zk/Z
JAVA Úvod Úvodní informace Petr Hnětynka hnetynka@d3s.mff.cuni.cz http://d3s.mff.cuni.cz/~hnetynka/java/ 2/2 Zk/Z zkouška písemný test zápočet zápočtový test u počítače max 5 opakování zápočtový program
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í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 V Assertions Java, zimní semestr
JAVA Assertions 1 Assertion od Java 1.4 příkaz obsahující výraz typu boolean programátor předpokládá, že výraz bude vždy splněn (true) pokud je výraz vyhodnocen na false -> chyba používá se pro ladění
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í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í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íceVlákna. První jednoduchý program s vlákny:
Vlákna Současné operační systémy jsou víceúlohové. Z uživatelského pohledu se zdá, že běží několik úloh zároveň. Je tedy možné napsat i jeden program tak, aby v něm běželo vedle sebe několik relativně
VíceJAVA V Vlákna Java, zimní semestr
JAVA Vlákna 1 Přehled (thread) podpora pro vícevláknové aplikace přímo v jazyce "hlavní" vlákno aplikace metoda main() v JVM je vždy několik vláken záleží na implementaci JVM skončí až skončí všechna vlákna
VíceÚvodní informace. Petr Hnětynka 2/2 Zk/Z
JAVA Úvod Úvodní informace Petr Hnětynka hnetynka@d3s.mff.cuni.cz http://d3s.mff.cuni.cz/~hnetynka/java/ 2/2 Zk/Z zkouška písemný test zápočet zápočtový test u počítače zápočtový program "rozumná" velikost
Více14.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í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í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í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í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í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ícePředmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20
Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................
VíceDatové typy v Javě. Tomáš Pitner, upravil Marek Šabo
Datové typy v Javě Tomáš Pitner, upravil Marek Šabo Úvod k datovým typům v Javě Existují dvě základní kategorie datových typů: primitivní a objektové Primitivní v proměnné je uložena přímo hodnota např.
VíceJAVA V jar Java, zimní semestr
JAVA jar 1 Přehled vytváření souborů sdružujících.class soubory JAR ~ Java Archive soubor přípona.jar formát ZIP soubor META-INF/MANIFEST.MF popis obsahu použití distribuce softwaru do CLASSPATH lze psát.jar
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íceVlákna. První jednoduchý program s vlákny:
Vlákna Současné operační systémy jsou víceúlohové. Z uživatelského pohledu se zdá, že běží několik úloh zároveň. Jednotlivé úlohy se nazývají procesy nebo také vlákna (tento termín používá i Java). Operační
VíceIterator & for cyklus
Iterator & for cyklus for (Object o : foo) funguje pokud je foo pole nebo je foo iterovatelné jako to zařídit? implementovat interface java.lang.iterable Iterable má jednu metodu java.util.iterator iterator()
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ícePŘETĚŽOVÁNÍ OPERÁTORŮ
PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako
Ví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íce2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
VíceObjekty v PHP 5.x. This is an object-oriented system. If we change anything, the users object.
Objekty v PHP 5.x This is an object-oriented system. If we change anything, the users object. Objektové PHP Objekty se poprvé objevili v PHP ve verzi 4. Nepříliš zdařilý pokus. Programátoři získali nedůvěru
VícePokročilé programování na platformě Java. Úvod
Pokročilé programování na platformě Java Úvod O předmětu Petr Hnětynka hnetynka@d3s.mff.cuni.cz http://d3s.mff.cuni.cz/teaching/vsjava/ pokračování "Javy (NPRG013)" předpokládá se základní znalost Javy
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íce7. Dynamické datové struktury
7. Dynamické datové struktury Java poskytuje několik možností pro uložení většího množství dat (tj. objektů či primitivních datových typů) v paměti. S nejjednodušší z nich, s polem, jsme se již seznámili.
VíceÚvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39
Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy
Ví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íce3. Třídy. Základní pojmy objektového programování. Třídy
3. Třídy Základní pojmy objektového programování Jak už víme, je Java objektovým programovacím jazykem. V úvodu této kapitoly si objasníme základní pojmy objektové teorie. Objekt představuje souhrn dat
Ví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íceZ. 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í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íceDesign time - vytváří se program - metadata - vytváří se např. třída. Run time - běh programu - ukládá se do paměti počítače - vytváří se např.
Design time - vytváří se program - metadata - vytváří se např. třída Run time - běh programu - ukládá se do paměti počítače - vytváří se např. objekt rysy javy - zavedení jasného pořádku a etikety - přísné
VíceOsnova přednášky. Programové prostředky řízení Úvod do C# II. Přístup ke členům. Členy (Members)
Osnova přednášky Programové prostředky řízení Úvod do C# II. Členy (Members) Jmenné prostory (Namespaces) Třídy (Classes) Struktury (Structs) Pavel Balda Západočeská univerzita v Plzni, FAV, KKY 2 Členy
VícePokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat.
Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat. 1. Odkrokujte následující program a s použitím notace z přednášky popište stav paměti
VíceOOP - Objektově Orientované Programování
OOP - Objektově Orientované Programování Programovat lze klasicky neobjektově - tedy s využitím jen primitivních typů a statického kontextu - tj. statických atributů, statických metod, statických inicializátorů
VíceO autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné
O autorovi 15 O odborném korektorovi 15 Úvod 17 Vývoj jazyka Java 17 Java SE 8 19 Struktura této knihy 20 Klíčové znalosti a pojmy 20 Testové otázky 20 Odpovídá expert 20 Cvičení 20 Předchozí zkušenosti
Víceboolean hasnext() Object next() void remove() Kolekce
11. Kontejnery Kontejnery Kontejnery jako základní dynamické struktury v Javě Kolekce, iterátory (Collection, Iterator) Seznamy (rozhraní List, třídy ArrayList, LinkedList) Množiny (rozhraní Set, třída
VíceVláknové programování část V
Vláknové programování část V Lukáš Hejmánek, Petr Holub {xhejtman,hopet@ics.muni.cz Laboratoř pokročilých síťových technologií PV192 2014 03 25 1/25 Přehled přednášky Paměťový model Javy GUI v Javě Vlákna
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í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í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í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íceIRAE 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Ú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íceObjektově orientované programování v PHP 5. Martin Klíma
Objektově orientované programování v PHP 5 Martin Klíma OOP & PHP 5 V PHP 5 konečně značné rozšíření OOP Blíží se to moderním programovacím jazykům jako Java nebo C# Výhody OOP Zapouzdření (nové modifikátory
VíceDědičnost (inheritance)
Dědičnost (inheritance) Úvod Umožňuje objektům převzít (zdědit) členy jiných objektů a pouze je rozšířit o Auto: lze odvodit Vztah je osobní auto, cisterna jsou auta Základní pojmy Bázová třída (rodič)
Ví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íceTřídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue.
23. Třídy, generické třídy, instance, skládání, statické metody a proměnné. Zapouzdření, konstruktory, konzistence objektu, zpřístupnění vnitřní implementace, modifikátory public a private. Polymorfismus,
Ví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í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í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íceProgramování v C++ 1, 6. cvičení
Programování v C++ 1, 6. cvičení dědičnost, polymorfismus 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené
VíceProgramování v C++ 2, 4. cvičení
Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva
VíceDědění, polymorfismus
Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá
VíceJazyk C# (seminář 3)
Jazyk C# (seminář 3) Pavel Procházka KMI October 8, 2014 Motivace Největší využití v programování okenních aplikací a GUI knihoven. Data reprezentujeme pomocí objektů (tříd), máme tedy ucelený pohled na
VíceProgramování v jazyku Java základy OOP
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Programování v jazyku Java základy OOP BI-PJV Programování v jazyku Java Katedra teoretické informatiky Miroslav Balík Fakulta informačních
VíceProměnné a datové typy
Proměnné a datové typy KAPITOLA 2 V této kapitole: Primitivní datové typy Proměnné Opakování Mezi základní dovednosti každého programátora bezesporu patří dobrá znalost datových typů. Ta vám umožní efektivní
VíceKTE / ZPE Informační technologie
11 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ň Metoda
VíceADT/ADS = abstraktní datové typy / struktury
DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní
VíceJazyk C# (seminář 6)
Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí
VíceJava efektivně. Lukáš Zapletal liberix.cz. Pokročilejší techniky programování v Javě
Lukáš Zapletal liberix.cz Pokročilejší techniky programování v Javě Tato prezentace vychází kompletně z knihy J. Blocha: Effective Java (A-W 2001) u nás Java efektivně - 57 zásad softwarového experta (Grada
Více29. Výjimky, jejich vznik, vyhození, odchyt a zpracování. (A7B36PVJ)
29. Výjimky, jejich vznik, vyhození, odchyt a zpracování. (A7B36PVJ) Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka
VíceJazyk C# a platforma.net
Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond
VíceObsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
Ví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í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í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íce4IT101 otázky k závěrečnému testu verze pro zimní semestr 2007/2008
4IT101 otázky k závěrečnému testu verze pro zimní semestr 2007/2008 Které programovací jazyky byly primárně navrženy pro oblast vědecko-technických výpočtů? Které programovací jazyky se často používají
VíceVIII. Seminář Java VIII p.1/36
Seminář Java VIII Seminář Java VIII p1/36 Rekapitulace Grafické uživatelské rozhraní Swing vs AWT Aplety Aplikační rámec, JApplet spouštení v prohlížeči, Appletviewer Událostní model knihovny Swing události
VíceZáklady jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní
Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti
VíceUkazka knihy z internetoveho knihkupectvi www.kosmas.cz
Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována a šířena
VíceX-komponenty 3.1. Uživatelská příručka. J. Kocman, V. Trojan
X-komponenty 3.1 Uživatelská příručka Napsal: J. Kocman, V. Trojan Verze: 3.1 Ze dne: 01.11.2017 Chyba! Nenalezen zdroj odkazů. Chyba! Nenalezen zdroj o dkazů. Soupis změn Výchozí verze i Chyba! Nenalezen
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í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í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íce<surface name="pozadi" file="obrazky/pozadi/pozadi.png"/> ****************************************************************************
zdroje/zdroje.xml
Více9. přednáška - třídy, objekty
třída String a její použití kolekce, typované kolekce 9. přednáška - třídy, objekty Algoritmizace (Y36ALG), Šumperk - 9. přednáška 1 Třída String Objekty knihovní třídy String jsou řetězy znaků Od ostatních
Více