Zpracování výjimečných situací
|
|
- Radomír Sedláček
- před 9 lety
- Počet zobrazení:
Transkript
1 Zpracování výjimečných situací Jazyky bez ovladačů výjimek výskyt výjimky způsobí přenesení výpočtu do operačního systému. Ten vypíše zprávu a ukončí program. Jazyky s ovladačem výjimek programy mohou zachytávat některé situace, provést náhradní akci a pokračovat ve výpočtu Def. Výjimečná situace je neobvyklou událostí (chybovou či nechybovou), která je detekovatelná hardwarem či softwarem a vyžaduje speciální zpracování. Druhy výjimek: -vestavěné -uživatelské Výjimka vzniká, nastane-li s ní asociovaná událost. Speciální zpracování vyžadované po detekci výjimky se nazývá zpracováním výjimky. Programová jednotka, která je provádí se nazývá ovladačem výjimky (exception handler).
2 Zpracování výjimečných situací Co je třeba ujasnit při použití mechanismu zpracování výjimek: -jak a kde specifikovat ovladače a v jakém rozsahu působí? -jak je výskyt výjimky (volání výjimky) propojeno s ovladačem? (dynamicky? staticky) -kde pokračuje výpočet poté, co ovladač výjimky skončí činnost? (za ovladačem? Za místem vzniku) -jsou zavedeny vestavěné výjimky? -mohou být vestavěné výjimky explicitně vyvolány? -jsou hardwarem detekovatelné chyby chápány jako výjimky které lze ošetřit? -jak specifikovat uživatelské výjimky? -lze výjimky potlačit a jak?
3 Zpracování výjimečných situací Jak se zpracovává výjimečná situace? = Šíření (propagace) výjimky Kde pokračovat ve výpočtu po výjimce?? Za příkazem co ji způsobil? Za programovou jednotkou kde výjimka vznikla? Ukončit výpočet V sekvenci příkazů zpracování výjimky může být použit příkaz pro předání výjimky do nadřazené jednotky. Není-li v programové části kde vznikla výjimka hledat ovladač v nadřazené jednotce Staticky nadřazené? Dynamicky nadřazené
4 Vznik výjimky je v programové jednotce ovladač pro tuto výjimku? ne ano je touto jednotkou ano hlavní program? zpracování výjimky ne zpracování výjimky systémem (ukončení programu) pokračování výpočtu za progr.jednotkou s výjimkou předání výjimky do?nadřazené? jednotky DYNAMICKY
5 Zpracování výjimečných situací Poprvé zavedeny v PL1 s tvarem ovladače: ON jméno výjimky BEGIN END; -výjimky jsou dynamicky vázány k naposledy provedenému ON příkazu (zhoršuje čitelnost). -mechanismus výjimek je nejednotný. Některé výjimky vrací řízení do příkazu, který způsobil výjimku, jiné ukončují program. Některé jsou implicitně povoleny (je možné je zakázat), jiné implicitně zakázány a musí se povolit. Uživatelské výjimky mohou přenášet řízení na libovolné místo programu označené návěštím. -uživatelské výjimky se definují konstrukcí DCL CONDITION jméno -vestavěné ZERODIVIDE, SUBSCRIPTRANGE, ENDFILE, (celkem 22) -výjimky lze explicitně vyvolat příkazem SIGNAL CONDITION (jméno) př. ON SUBSCRIPTRANGE /* ovladac */ BEGIN END; (NOOVERFLOW): BEGIN END; /*vypnuti kontroly preteceni */ (SUBSCRIPTRANGE): BEGIN END; /*zapnuti kontroly indexu*/
6 Klíčová slova Zpracování výjimečných situací v C++ try, catch, throw Tvar ovladače: try { //programový text, ve kterém vzniká výjimka catch (formalní parametr) { //příkazy ovladače catch (formalní parametr) { --příkazy ovladače -catch je jméno všech ovladačů, rozlišují se formálním parametrem. Nemusí jím být proměnná, může jím být jméno typu. Form. parametr lze použít k přenosu informace do ovladače. catch( ) chytá všechny výjimky.
7 Zpracování výjimečných situací v C++ -výjimky jsou vyvolávány pouze explicitně příkazem throw [výraz]; //[ ] jsou metasymbolem -typ výrazu určuje, který příslušný ovladač použít, což není příliš informativní -throw bez operandu se může vyskytnout jen v ovladači, způsobí pak znovuvyvolání výjimky a její zpracovávání ve vyšší ůrovni -neošetřené výjimky se propagují do místa volání funkce, ve které výjimka vznikla. Propagace může pokračovat až do funkce main. Pokud ani tam není ovladač nalezen, program je ukončen. -po provedení příkazů ovladače je řízení přeneseno na příkaz za posledním z ovladačů (z nichž jeden zpracoval výjimku) -všechny výjimky jsou uživatelské, hardwarem detekovatelné výjimky nemá, což je škoda.
8 #include <iostream.h> void Ftest(int fi) { Zpracování výjimečných situací v C++ př. 1VyjimkaC.CPP cout << "jsem v Ftest:"<< fi << "\n"; if (fi) throw fi; // testovaci funkce vyhazuje vyjimku int main() { cout << "start\n"; try { cout << "jsem v try \n"; Ftest(0); Ftest(1); Ftest(2); catch (int i) { cout << "zachycena hodnota:" << i << "\n"; cout << "konec"; return 0;
9 Zpracování výjimečných situací - Java -založeno na C++, s ohledem na OOP paradigma try, catch throw navíc má finally, throws -všechny výjimky jsou objekty tříd, které jsou potomky třídy Throwable -knihovna Javy obsahuje dvě podtřídy Throwable 1. Error výjimky této třídy jsou vyvolávány Java interpretem (např. při přetečení haldy), jejich zpracování nepřísluší uživateli. 2. Exception uživatelské výjimky jsou obvykle jejími potomky. Má dvě předdefinované podtřídy: IOException RuntimeException
10 Zpracování výjimečných situací - Java Throwable Error Exception IOException RuntimeException Uživatelem defin... ArrayIndexOutOfBoundsException... Třída Error: Chyby vzniklé v JVM, na které uživatel nemůže reagovat Např. OutOfMemoryError Třída Exception Program by měl zpracovávat tyto výjimky IOException Chyby při vstup/výstupních operacích -RuntimeException reprezentují různé časté chyby (např. jejím potomkem definovaným v java.util je ArrayIndexOutOfBoundsException).
11 Zpracování výjimečných situací - Java -catch musí mít parametr. Tyto parametry musí být potomky třídy Throwable Parametr určuje jaké výjimky bude catch zachytávat -try klauzule je stejná jako v C++ -throw slouží jako v C++ k vyvolávání výjimek. Může být použit spolu s operátorem new k vytvoření objektu např. class MyException extends Exception { public MyException() { public MyException(String message) { super(message); //posila zpravu predkovi = Exception lze ji manuálně vyvolat throw new MyException;
12 Zpracování výjimečných situací - Java nebo vytvořit instanci příkazem MyException me = new MyException( ); a použít ji příkazem throw me; Konstruktor s parametrem message lze použít příkazem throw new MyException("zprava o chybe"); -výjimka je zachycena prvým ovladačem, který má parametr stejné třídy jako parametr throw příkazu, nebo parametr throw je potomkem stejné třídy. -není-li nalezen ovladač pro příslušnou konstrukci try, hledá se v nejbližším obepínajícím try, nenajde-li se v celé metodě, hledá se v jednotce, která metodu vyvolala až do main. Pokud ani tam není, program je ukončen.
13 Zpracování výjimečných situací - Java -výjimky třídy Error a RuntimeException se nazývají unchecked (nekontrolované) exception. Programátor je nemusí ošetřit. Ostatní jsou checked exception. -checked exceptions (kontrolované, typicky jsou to IOException), které metoda vyvolává, musí: buď mít v metodě uvedený ovladač, nebo být uvedeny v tzv. seznamu throws. -seznam throws je součástí hlavičky metody. Např. void jmenometody( ) throws IOException { -metoda, která volá metodu citující kontrolovanou výjimku ve své throws klauzuli, má tři možnosti jak s výjimkou naložit: 1. zachytit ji a zpracovat ve svém ovladači catch, 2. zachytit ji, a v ovladači vyvolat některou výjimku ze svého seznamu throws, 3. deklarovat ji ve svém throws seznamu a žádný ovladač pro ni nedělat.
14 Zpracování výjimečných situací - Java Příklad 2java zachycení dělení nulou public class Vyjimka { public static void main (String [ ] args ) { int [ ] cislo = {2, 4, 8, 16, 32; int [ ] d = {2, 1, 0, 4, 8; for (int i = 0; i<cislo.length; i++) { try { System.out.println ( cislo[i] / d[i] ); catch (ArithmeticException exc) { System.out.println("nelze delit nulou");
15 Zpracování výjimečných situací - Java Příklad 3java zachycení překročení rozsahu mezí pole class VyjimkaDemo { public static void main(string args[]) { int cisla[] = new int[4]; try { System.out.println("Před generovanim vyjimky"); // Generuj index out-of-bounds vyjimku cisla[7] = 10; System.out.println("nedostupna cast"); catch (ArrayIndexOutOfBoundsException exc) { // zachyceni vyjimky System.out.println("Index mimo meze"); System.out.println("Za catch prikazem");
16 // př. 4Java Výjimka může být generována jednou metodou a zachytávána jinou class ExcTest { // Generuj výjimku. static void genexception() { int cisla[] = new int[4]; System.out.println("Před generováním výjimky"); // generuj index mimo meze výjimku cisla[7] = 10; System.out.println("nedosazitelne"); class Vyjimka2 { public static void main(string args[]) { try { ExcTest.genException(); catch (ArrayIndexOutOfBoundsException exc) { // zachycení výjimky System.out.println("Index mimo meze"); System.out.println("Za catch příkazem");
17 -pro možnost provést "úklid" bez ohledu co se stane v příkazech konstrukce try, je zavedena klauzule finally tvaru: finally { příkazy úklidu -uvádí se za klauzulemi catch a její příkazy se provedou bez ohledu zda výjimka v throw vznikla/nevznikla, byla/nebyla ošetřena některým catch, či bude propagována. -Konstrukce try bez uvedení catch může být následována klauzulí finally. Má význam, obsahuje-li složený příkaz buď break nebo continue nebo return příkaz. Např. try { for (index = 0; index < 100; index++) { if ( ) { return; //** end of if //** end of try clause finally { //** end of try construct Klauzule finally bude provedena bez ohledu zda cyklus končí vyčerpáním, nebo příkazem return.
18 //Př. 5Java Použití finally. class UzijFinally { public static void genexception(int neco) { int t; int cisla[] = new int[2]; System.out.println("Dostal " + neco); try { switch(neco) { case 0: t = 10 / neco; // generuje div-by-zero error break; case 1: cisla[4] = 4; // generuje array index error. break; case 2: return; // návrat z try bloku
19 catch (ArithmeticException exc) { // catch the exception System.out.println("Nelze dělit nulou"); return; // return from catch catch (ArrayIndexOutOfBoundsException exc) { // catch the exception System.out.println("Nenalezen prvek"); finally { System.out.println("Konec try."); class VyjimkasFinally { public static void main(string args[]) { for(int i=0; i < 3; i++) { UzijFinally.genException(i); System.out.println();
20 Zpracování výjimečných situací - Java Supertřídy a podtřídy výjimek Klauzule catch pro nadtřídu se vztahuje také na všechny její podtřídy. Tzn. catch ( TypVyjimky objektvyjimky) zachytí jak výjimky typu TypVyjimky tak i výjimky všech jejích podtříd Důsledek: Chcete-li zachytit vyjimku podtřídy, musíte její catch uvést dříve než catch její nadtřídy. Opačný zápis catch by způsobil nedosažitelný kód. Př. 51Java
21 class SubVyjimka { public static void main(string args[]) { // citatelu je vic nez jmenovatelu int citat[] = { 4, 8, 16, 32, 64, 128, 256, 512 ; int jmenov[] = { 2, 0, 4, 4, 0, 8 ; for(int i=0; i<citat.length; i++) { try { System.out.println(citat[i] + " / " + jmenov[i] + " je " + citat[i]/jmenov[i]); catch (ArrayIndexOutOfBoundsException exc) { // chytne vyjimku System.out.println("Neni dosti operandu"); catch (Throwable exc) { System.out.println("Nastala jakasi vyjimka");
22 Zpracování výjimečných situací - Java Vnořování bloků try Do try bloku lze vnořit další try bloky try {... try {... catch úsek1 programu... catch úsek2 programu Výjimky z vnitřního try nezachycené v úseku1 budou propagovány do staticky i dynamicky (platí oboje) nadřazené jednotky (úsek2)
23 Vyhození výjimky Zpracování výjimečných situací - Java Kromě automatického generování výjimky systémem Javy, lze výjimku generovat manuálně programovým příkazem throw objektvyjimka ; kde objektvyjimka je instancí třídy odvozené z Throwable. Př.52Java // rucne vyhozena vyjimka class Vyhozeni { public static void main(string args[]) { try { System.out.println("Pred vyhozenim"); throw new ArithmeticException(); catch (ArithmeticException exc) { System.out.println("Vyjimka chycena"); System.out.println("Za blokem try/catch");
24 Zpracování výjimečných situací - Java Opakované vyhození výjimky Při zachycení v catch můžeme výjimku znovu vyhodit použitím příkazu throw v bloku catch. Je pak zachytávána opakovaně v dynamicky nadřazených jednotkách v souladu s pravidly propagace výjimek. Poslouží to pro zpracování výjimečné situace po částech, každé z catch může mít jiné schopnosti. Př.53Java
25 class Opakovane { public static void genexception() { int citatel[] = { 4, 8, 16, 32, 64, 128, 256, 512 ; int jmenovatel[] = { 2, 0, 4, 4, 0, 8 ; for(int i=0; i<citatel.length; i++) { try { System.out.println(citatel[i] + " / " + jmenovatel[i] + " je " + citatel[i]/jmenovatel[i]); catch (ArithmeticException e) { System.out.println("Deleni nulou"); catch (ArrayIndexOutOfBoundsException e) { System.out.println("Neni dosti operandu"); throw e; //znovuvyhozeni vyjimky
26 Zpracování výjimečných situací - Java class OpakDemo { public static void main(string args[]) { try { Opakovane.genException(); catch(arrayindexoutofboundsexception e) { // zachyceni po znovuvyhozeni System.out.println("Nastala chyba " + "program ukoncen"); //konec příkladu 53Java
27 Použití throws Zpracování výjimečných situací - Java Některé výjimky, pokud je metoda nemůže zpracovat, musí vyjmenovat v throws seznamu, a tím jasně deklarovat, že je bude vyhazovat (propagovat) dál. Do seznamu throws není třeba uvádět výjimky odvozené z RuntimeError a z Error. Java předpokládá, že tyto výjimky může vyhazovat každá metoda. (tzv nekontrolované) Ostatní musí být v throws seznamu, jinak se program nepřeloží. Vynucuje tím např ošetření I/O operací (jsou kontrolované) Př.54Java
28 Zpracování výjimečných situací - Java class ThrowsDemo { public static char vypis(string s) throws java.io.ioexception { System.out.print(s + ": "); return (char) System.in.read(); public static void main(string args[]) { char ch; try { ch = vypis("napis pismeno"); catch(java.io.ioexception e) { System.out.println("nastala I/O vyjimka"); ch = ' '; System.out.println("napsal jsi " + ch);
29 Zpracování výjimečných situací - Java Výjimky vytvořené programem Programátor může definovat vlastní výjimky jako podtřídy třídy Exception Exception nemá žádné vlastní metody, dědí ale metody svého rodiče Throwable. Takže podtřídy Exception je také zdědí. Př.55Java class NecelociselnyPodil extends Exception { int n; int d; NecelociselnyPodil(int i, int j) { n = i; d = j; public String tostring() { return "Podil " + n + " / " + d + " neni celociselny ";
30 Zpracování výjimečných situací - Java class UzivVyjimka { public static void main(string args[]) { int citatel[] = { 4, 8, 15, 32, 64, 127, 256, 512 ; int jmenovatel[] = { 2, 0, 4, 4, 0, 8 ; for(int i=0; i<citatel.length; i++) { try { if((citatel[i]%jmenovatel[i])!= 0) throw new NecelociselnyPodil(citatel[i], jmenovatel[i]); System.out.println(citatel[i] + " / " + jmenovatel[i] + " je " + citatel[i]/jmenovatel[i]); catch (ArithmeticException e) { System.out.println("Deleni nulou "); catch (ArrayIndexOutOfBoundsException e) { System.out.println("Neni dosti operandu "); catch (NecelociselnyPodil e) { System.out.println(e);
31 Zpracování výjimečných situací - ADA Předdefinované: CONSTRAINT _ERROR NUMERIC_ERROR STORAGE_ERROR TASKING_ERROR PROGRAM_ERROR Syntax: begin příkazy exception when výjimka1 => příkazy when výjimka2 => příkazy when výjimkan => příkazy end;
32 Zpracování výjimečných situací - ADA Výjimky lze potlačit pomocí pragma SUPRESS (i selektivně) např. declare pragma SUPRESS(RANGE_CHECK, M); subtype MALE_INT is INTEGER range 1..2; M, N: MALE_INT; MIMO: INTEGER = 3; begin M := MIMO; // nevznikne vyjimka N := MIMO; // vznikne vyjimka end; Jak nelze výjimku použít: <<opakuj>> exception => ; goto opakuj ; // to se nepřeloží
33 Př. 6ADA Způsobí výjimku, není-li součin dvou čísel kladný with TEXT_IO; use TEXT_IO; procedure V is function CHYBNA(I,J:INTEGER) return POSITIVE is begin return POSITIVE(I*J); exception when CONSTRAINT_ERROR =>PUT_LINE("VYJIMKA"); return 1000; end CHYBNA; I,J:INTEGER; package I_IO is new INTEGER_IO(INTEGER); package P_IO is new INTEGER_IO(POSITIVE); begin loop PUT_LINE("zadej dve integer cisla"); I_IO.GET(I); I_IO.GET(J); P_IO.PUT(CHYBNA(I,J)); NEW_LINE; exit when I=J; end loop; end V;
34 Zpracování výjimečných situací - ADA Uživatelem zavedené výjimky v Adě -deklaruje se jako proměnná -vyvolá se příkazem raise jméno (lze tak vyvolat i předdefinovanou) Př. 8ADA package STACK1 is --specifikace subtype STACK_ITEM is INTEGER range -10_ _000; procedure PUSH(ITEM:STACK_ITEM); function POP return STACK_ITEM; STACK_OVERFLOW : exception; STACK_UNDERFLOW : exception; end STACK1;
35 package body STACK1 is --deklaracni cast STACK_SIZE: constant INTEGER := 1_000; STACK_ARRAY: array(1..stack_size) of STACK_ITEM; top: INTEGER range 0..STACK_SIZE; procedure PUSH(ITEM: STACK_ITEM) is begin if TOP = STACK_SIZE then raise STACK_OVERFLOW; end if; TOP := TOP + 1; STACK_ARRAY(TOP) := ITEM; end PUSH; function POP return STACK_ITEM is begin if TOP = 0 then raise STACK_UNDERFLOW; end if; TOP := TOP - 1; return STACK_ARRAY(TOP + 1); end POP; begin --inicializacni cast TOP := 0; end STACK1;
36 Zpracování výjimečných situací - ADA --hlavni program, vyuziva kompilacni jednotku STACK1 with STACK1,TEXT_IO; use STACK1,TEXT_IO; procedure STACK1H is package STACK_IO is new INTEGER_IO(STACK_ITEM); use STACK_IO; X,Y: STACK_ITEM; begin PUSH(5); X := 4; PUSH(X); PUT(POP); --vystup 4 Y := POP; --vystup 5 PUT(Y); NEW_LINE; // dalsi prikazy exception when STACK_OVERFLOW => PUT_LINE("je plny") ; when STACK_UNDERFLOW => PUT_LINE("je prazdny") ; when others => PUT_LINE("jina zavada") ; end STACK1H;
37 Zhodnocení výjimek C++ může vyhazovat výjimky libovolného (v programu či v systému definovaného) typu. Uživateli taková výjimka moc neřekne Java může vyhazovat pouze objekty odvozované z třídy Throwable, tím dovolí separovat výjimky od ostatních objektů Java klauzulí throws řekne uživateli, které kontrolované výjimky smí vyhazovat a sama je nezpracovává. Java finally umožňuje čisticí akce bez ohledu na výsledek try příkazu JVM implicitně vyhazuje řadu předdeklarovaných výjimek, C++ může pracovat jen s explicitně vyhazovanými Schopnosti výjimek Javy a Ady jsou zhruba rovnocenné. V Adě není ekvivalent throws seznamu (ten zlepšuje čitelnost). Výjimky Javy jsou s ohledem na systémem detekovatelné výjimky bližší Adě než C++ C# zavádí konstrukce výjimek velmi podobné Javě. Nemá však throws klauzuli.
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
Semin aˇr Java V yjimky Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Unor 2008 Radek Koˇc ı Semin aˇr Java V yjimky 1/ 25
Seminář Java Výjimky Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Výjimky 1/ 25 Výjimky Co a k čemu jsou výjimky výjimka je mechanizmus umožňující psát robustní, spolehlivé
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ýjimky. v C# a Javě
Výjimky v C# a Javě Výjimky v C# Výjimky poskytují v C# způsob, jak reagovat na nečekané události. Uživatel např. zadá místo čísla text nebo soubor, který chceme otevřít, je využíván jiným procesem. To
Výjimky. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické
Výjimky A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Obsah Výjimky Pojem výjimky Princip mechanismu zpracování výjimek, try + catch Kompletní zpracování výjimek Vyhození
Výjimky. Tomáš Pitner, upravil Marek Šabo
Výjimky Tomáš Pitner, upravil Marek Šabo K čemu jsou výjimky Výjimky jsou mechanizmem umožňujícím reagovat na nestandardní (tj. chybové) běhové chování programu, které může mít různé příčiny: chyba okolí:
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
Soubor 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í
29. Výjimky, jejich vznik, vyhození, odchyt a zpracování. (A7B36PVJ)
29. Výjimky, jejich vznik, vyhození, odchyt a zpracování. (A7B36PVJ) Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka
Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky 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 rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
2) 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
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í
Úvod do programování - Java. Cvičení č.4
Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení
Dědičnost (inheritance)
Dědičnost (inheritance) Úvod Umožňuje objektům převzít (zdědit) členy jiných objektů a pouze je rozšířit o Auto: lze odvodit Vztah je osobní auto, cisterna jsou auta Základní pojmy Bázová třída (rodič)
10. března 2015, Brno Připravil: David Procházka. Programovací jazyk C++
10. března 2015, Brno Připravil: David Procházka Práce s výjimkami Programovací jazyk C++ K čemu slouží výjimky Strana 2 / 25 Obsah přednášky 1 K čemu slouží výjimky 2 Vytváření výjimek 3 Speciální případy
Připravil: David Procházka. Programovací jazyk C++
17. října 2011, Brno Připravil: David Procházka Práce s výjimkami Programovací jazyk C++ Obecně Strana 2 / 21 Jak se může program zachovat při chybě Dříve byl obvyklý způsob zavolat metodu abort. Metoda
Algoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
Ú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
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ší
8. přednáška: Soubory a proudy
8. přednáška: Soubory a proudy Soubor jako posloupnost bytů Ukládání/čtení primitivních typů Ukládání/čtení primitivních typů a objektů (řetězců) Ukládání/čtení objektů do souboru - serializace Obsah Algoritmizace
PB161 programování v C++ Výjimky Bezpečné programování
PB161 programování v C++ Výjimky Bezpečné programování Chyby... Snaha psát programy bez chyb myslet : ) Snaha psát programy se schopností fault tolerance. snaha se z chybového stavu dostat lze řešit testováním
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 =
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í
Regulá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
PB161 Programování v jazyce C++ Přednáška 8
.. PB161 Programování v jazyce C++ Přednáška 8 Výjimky Správa prostředků (RAII) Nikola Beneš 9. listopadu 2015 PB161 přednáška 8: výjimky, RAII 9. listopadu 2015 1 / 24 . PB161 přednáška 8: výjimky, RAII
KTE / ZPE Informační technologie
7 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ň - ternární
Programování v C++ 1, 17. cvičení
Programování v C++ 1, 17. cvičení výjimky 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 Shrnutí minule procvičené látky Binární vyhledávací
Ú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
Class 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í
Řídicí struktury. alg3 1
Řídicí struktury Řídicí struktura je programová konstrukce, která se skládá z dílčích příkazů a předepisuje pro ně způsob provedení Tři druhy řídicích struktur: posloupnost, předepisující postupné provedení
Sdílení dat mezi podprogramy
Sdílení dat mezi podprogramy Datové objekty mohou být mezi podprogramy sdíleny pomocí ne-lokálních referenčních prostředí, která jsou vytvářena na základě æ explicitních modifikací (formální parametry
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
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
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í
Zápis programu v jazyce C#
Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač
Výčtový typ strana 67
Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce
Java a XML. 10/26/09 1/7 Java a XML
Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis
Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová
Programové konvence, dokumentace a ladění 2. přednáška Alena Buchalcevová Proč dodržovat programové konvence? velkou část životního cyklu softwaru tvoří údržba údržbu provádí většinou někdo jiný než autor
Java Ř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
Ošetřování chyb v programech
Ošetřování chyb v programech Úvod chyba v programu = normální záležitost typy chyb: 1) programátorská chyba při návrhu každých 10 000 řádek 1 chyba lze jen omezeně ošetřit (před pádem aplikace nabídnout
1. Téma 12 - Textové soubory a výjimky
1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se
Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01
Anotace sady: Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01 Autor: Blanka Sadovská Klíčová slova: Algoritmus, proměnná, diagram Stupeň a typ vzdělávání: gymnaziální vzdělávání, 3. ročník
Jazyk C++ II. Výjimky
Jazyk C++ II Výjimky AR 2013/2014 Jazyk C++ II Funkce abort Dříve byl obvyklý způsob zavolat metodu abort(). Metoda provádí okamžitě: Vyprázdnění vyrovnávací paměti, Ukončení celého programu, Vrátí číslo
Více o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
Objektově orientované programování
10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);
TŘÍDY POKRAČOVÁNÍ Události pokračování public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); class Bod private int x; private int y; public event ZmenaSouradnicEventHandler ZmenaSouradnic;
Textové 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
IW5 - Programování v.net a C# 4 Pokročilé konstrukce C#
4 - Pokročilé konstrukce C# IW5 - Programování v.net a C# Strana 1 Obsah přednášky Výjimky Delegáti Události Lambda výrazy Strana 2 Výjimky a jejich zpracování Slouží k ošetření výjimečných (chybových)
Algoritmizace a programování
Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém
Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:
Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury
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,
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
17. Projekt Trojúhelníky
Projekt Trojúhelníky strana 165 17. Projekt Trojúhelníky 17.1. Základní popis, zadání úkolu Pracujeme na projektu Trojúhelníky, který je ke stažení na java.vse.cz. Aplikace je napsána s textovým uživatelským
6. Příkazy a řídící struktury v Javě
6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return
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ýjimky a ošetřování chyb v PHP. Who is General Failure and why is he reading my disk?!
Výjimky a ošetřování chyb v PHP Who is General Failure and why is he reading my disk?! Koncept výjimek Výjimky fungují jako v jiných jazycích. Výjimka je objekt třídy Exception (nebo třídy odvozené). Výjimky
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í
Paměť počítače. alg2 1
Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových
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
Šablony, kontejnery a iterátory
7. října 2010, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 21 Šablona funkce/metody Šablona je obecný popis (třídy, funkce) bez toho, že by
Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice
Řídicí příkazy V této kapitole se seznámíte s příkazy, které řídí postup provádění programu Příkazy řízení programu se řadí do třech kategorií: příkazy výběru, kam patří příkazy if a switch, příkazy iterace,
Abstraktní třídy, polymorfní struktury
Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní třídy, polymorfní struktury BI-PA2, 2011, Přednáška 9 1/32 Abstraktní třídy, polymorfní struktury Ing. Josef Vogel, CSc Katedra softwarového inženýrství
Programování v C++ 1, 5. cvičení
Programování v C++ 1, 5. cvičení konstruktory, nevirtuální dědění 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é
7. 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á
Syntaxe vyjímek. #include <iostream> #include <string> using namespace std; // Trida vyjimek class Vyjimka { private:
Vyjímky. Pod pojmem výjimka se rozumí nějaká výjimečná situace, která nastane v dané funkci. V jazyce C i C++ se často používá návratových hodnot funkcí, které vracejí úspěšnost provádění nějaké operace
Šablony, kontejnery a iterátory
11. března 2015, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 31 Obsah přednášky 1 Šablony 2 Abstraktní datové struktury 3 Iterátory 4 Array
PŘ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
Funkce - opakování. Funkce může přijímat parametry na vstupu a může vracet parametry na výstupu.
ZAL 3. cvičení 2016 Funkce - opakování Funkce může přijímat parametry na vstupu a může vracet parametry na výstupu. Délka funkce by měla být rozumná. Tipněte si co je rozumná délka funkce. V Pythonu se
Seminář Java II p.1/43
Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem
PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.
PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk
9. 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
Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy
Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou
Programovací 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
PB161 Programování v jazyce C++ Přednáška 9
PB161 Programování v jazyce C++ Přednáška 9 Jmenné prostory Výjimky podrobně Nikola Beneš 20. listopadu 2018 PB161 přednáška 9: jmenné prostory, výjimky 20. listopadu 2018 1 / 32 Jmenné prostory PB161
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í
Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++
Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++ Prostory jmen U programů mohou někdy nastat kolize mezi jmény (tříd, funkcí, globálních proměnných atd.) pokud v různých
PB161 Programování v jazyce C++ Přednáška 9
PB161 Programování v jazyce C++ Přednáška 9 Jmenné prostory Výjimky podrobně Nikola Beneš 20. listopadu 2018 PB161 přednáška 9: jmenné prostory, výjimky 20. listopadu 2018 1 / 32 Jmenné prostory PB161
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
URČITÝM ZPŮSOBEM PODOBNÉ
Objekty Svět se skládá z objektů! konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty mohou obsahovat jiné objekty (tělo obsahuje buňky, letadlo součásti). Objekty URČITÝM
KTE / ZPE Informační technologie
5 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ň Základy
Programová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
4. 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
8 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
6 Příkazy řízení toku
6 Příkazy řízení toku 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 pro řízení toku programu. Pro všechny tyto základní
3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti
Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti 3. přednáška nalezení největšího prvku, druhého nejvyššího prvku, algoritmus shozeného praporku. Algoritmizace
Ú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
3 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
Datové struktury. Obsah přednášky: Definice pojmů. Abstraktní datové typy a jejich implementace. Algoritmizace (Y36ALG), Šumperk - 12.
Obsah přednášky: Definice pojmů o datový typ, o abstraktní datový typ Datové struktury Abstraktní datové typy a jejich implementace o Fronta (Queue) o Zásobník (Stack) o Množina (Set) Algoritmizace (Y36ALG),
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
Programová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é
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,
NPRG031 Programování II --- 2/2 Z, Zk
NPRG031 Programování II --- 2/2 Z, Zk paralelka Y St 14:00-15:30 v S3 Pavel Töpfer Kabinet software a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer
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ů
Michal 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ů
Dynamicky 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:
Jazyk 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
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
7. Datové typy v Javě
7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů