Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
|
|
- Eliška Švecová
- před 5 lety
- Počet zobrazení:
Transkript
1 Ú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ů (Java) 1/26
2 Iterátory Úvod do programovacích jazyků (Java), 12 Iterátor umožňuje procházet prvky datové struktury, java.util.iterator: public interface I t e r a t o r boolean hasnext ( ) ; Object next ( ) ; void remove ( ) ; / / v o l i t e l n e C o l l e c t i o n c = new A r r a y L i s t ( ) ;... / / napln kolekce for ( I t e r a t o r i = c. i t e r a t o r ( ) ; i. hasnext ( ) ; ) Object o = i. next ( ) ;... / / zpracuj prvek c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 2/26
3 Generické typy L i s t i n t L i s t = new L i n k e d L i s t ( ) ; i n t L i s t. add (new I n t e g e r ( 3 4 ) ) ; I n t e g e r x = ( I n t e g e r ) i n t L i s t. i t e r a t o r ( ). next ( ) ; i n t value = x. i n t V a l u e ( ) ; Porovnej s L i s t < Integer > i n t L i s t = new L i n kedlist < Integer > ( ) ; i n t L i s t. add (new I n t e g e r ( 3 4 ) ) ; I n t e g e r x = i n t L i s t. i t e r a t o r ( ). next ( ) ; i n t value = x. i n t V a l u e ( ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 3/26
4 Generické typy definice public interface L i s t <E> void add (E x ) ; I t e r a t o r <E> i t e r a t o r ( ) ; public interface I t e r a t o r <E> E next ( ) ; boolean hasnext ( ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 4/26
5 Třída bez instance Definice třídy pro kterou není možné vytvořit instanci: Třída je deklarována jako final. Deklarujeme konstruktor bez argumentů a označíme jej jako private. Další konstruktor nedefinujeme. Taková třída obyčejně obsahuje třídní metody a proměnné, např. java.lang.math: public f i n a l class Math private Math ( )... / / t r i d n i promenne a metody c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 5/26
6 Garbage Collector Pokud garbage collector detekuje pamět, která již není používána (např. instance třídy na kterou byl ztracen ukazatel), nejprve volá metodu finalize() a poté je pamět vrácena. Metodu finalize() můžeme tedy využít pro určité akce, které chceme provést před jeho zničením. O tyto akce se musí postarat programátor, Java nezná pojem destruktor. c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 6/26
7 Ukončení programu Program je ukončen, pokud je ukončena metoda main(). Ve skutečnosti je program ukončen, pokud jsou ukončena všechna vlákna. Pro ukončení programu můžeme použít metodu exit() třídy java.lang.system. Argumentem metody je návratový kód aplikace. Je zvykem vrátit nenulovou hodnotu v případě chyby. System. e x i t ( 0 ) ; System. e x i t ( 1 ) ; / / nastala chyba c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 7/26
8 Vehnízděná třída (Nested class) 1/4 Vehnízděná třída je třída definována jako člen jiné třídy. class EnclosingClass... class NestedClass... c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 8/26
9 Vehnízděná třída 2/4 Vehnízděná třída má neomezený přístup ke členům nadřazené třídy, dokonce i když jsou deklarovány jako private. Třída by měla být definována v jiné třídě, pokud dává smysl pouze v kontextu nadřazené třídy nebo pokud je vázána na funkcionalitu nadřazené třídy. Vehnízděná třída může být statická. Nestatická vehnízděná třída se nazývá inner class. Anonymní vehnizděná třída používá se např. v GUI jako adapter. c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 9/26
10 Vehnízděná třída 3/4 public class Container1 private Object [ ] items ;... public I t e r a t o r i t e r a t o r ( ) return new C o n t a i n e r I t e r a t o r ( ) ; class C o n t a i n e r I t e r a t o r implements I t e r a t o r i n t index = 0 ; public boolean hasnext ( ) return index < items. l e n g t h ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 10/26
11 Vehnízděná třída 4/4 public Object next ( ) i f (! hasnext ( ) ) throw new NoSuchElementException ( ) ; return items [ index + + ] ;... c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 11/26
12 , Counter 1/12 c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 12/26
13 Counter, CounterType.java 2/12 public interface CounterType public void increment ( ) ; public void decrement ( ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 13/26
14 Counter, Counter.java 3/12 import java. u t i l. ; public class Counter extends Observable implements CounterType private i n t mvalue = 0 ; public Counter ( Observer o ) addobserver ( o ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 14/26
15 Counter, Counter.java 4/12 public void setvalue ( i n t value ) this. mvalue = value ; setchanged ( ) ; notifyobservers (new I n t e g e r ( mvalue ) ) ; public i n t getvalue ( ) return mvalue ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 15/26
16 Counter, Counter.java 5/12 public void increment ( ) setvalue ( getvalue ( ) + 1 ) ; public void decrement ( ) setvalue ( getvalue ( ) 1 ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 16/26
17 Counter, CounterGUI.java 6/12 import javax. swing. ; import java. awt. ; import java. awt. event. ; import java. u t i l. ; public class CounterGUI extends JFrame implements Observer, A c t i o n L i s t e n e r protected JButton mbtninc = new JButton ( " Increment " ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 17/26
18 Counter, CounterGUI.java 7/12 protected JButton mbtndec = new JButton ( " Decrement " ) ; protected JLabel mlbllabel = new JLabel ( " Counter Value " ) ; protected J T e x t F i e l d mtfvalue = new J T e x t F i e l d ( " 0 " ) ; protected CounterType mcounter = new Counter ( this ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 18/26
19 Counter, CounterGUI.java 8/12 public CounterGUI ( ) setlayout (new BorderLayout ( 1 5, 1 5 ) ) ; s e t T i t l e ( " Counter " ) ; JPanel north = new JPanel ( ) ; north. setlayout (new BorderLayout ( ) ) ; north. add ( BorderLayout.NORTH, mlbllabel ) ; north. add ( BorderLayout.SOUTH, mtfvalue ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 19/26
20 Counter, CounterGUI.java 9/12 JPanel south = new JPanel ( ) ; south. setlayout (new GridLayout ( 1, 2, 1 5, 1 5 ) ) ; south. add ( mbtninc ) ; south. add ( mbtndec ) ; getcontentpane ( ). add ( BorderLayout.NORTH, north ) ; getcontentpane ( ). add ( BorderLayout. SOUTH, south ) ; pack ( ) ; mbtninc. addactionlistener ( this ) ; mbtndec. addactionlistener ( this ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 20/26
21 Counter, CounterGUI.java 10/12 public void actionperformed ( ActionEvent e ) i f ( e. getsource ( ) = = mbtninc ) mcounter. increment ( ) ; else i f ( e. getsource ( ) = = mbtndec ) mcounter. decrement ( ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 21/26
22 Counter, CounterGUI.java 11/12 public void update ( Observable c, Object arg ) mtfvalue. settext ( arg. t o S t r i n g ( ) ) ; public s t a t i c void main ( S t r i n g [ ] args ) new CounterGUI ( ). s e t V i s i b l e ( true ) ; c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 22/26
23 , Counter 12/12 c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 23/26
24 GUI, Adapter public class CounterGUI extends JFrame implements Observer... public CounterGUI ( )... mbtninc. addactionlistener (new A c t i o n L i s t e n e r ( ) public void actionperformed ( ActionEvent e ) mcounter. increment ( ) ; ) ;... c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 24/26
25 Úvod do programovacích jazyků (Java), 12 Aplikace spouštěné ve webovém prohlížeči. Prace s GUI appletu je podobná jako práce s GUI desktopové aplikaci: public class CounterApplet extends JApplet implements MouseListener... V appletu nemůžeme použít některé třídy z Java API (bezpečnostní omezení). c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 25/26
26 Další Java technologie Vlákna. Serializace objektů. Datová vrstva: JDBC. Locales. XML technologie: SAX a DOM parser. Distribuované aplikace: RMI, CORBA. Webové aplikace: J2EE Servlet, JSP. c 2006 Michal Krátký Úvod do programovacích jazyků (Java) 26/26
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í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í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ícePři studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.
1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými
Ví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í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í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í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í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í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í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í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í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íceAplikace s grafickým uživatelským rozhraním
Aplikace s grafickým uživatelským rozhraním doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz 1 Typy aplikací Konzolová
Ví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íceJava - 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íceParametrizované třídy Generics generické třídy. JDK zavádí mimo jiné tzv. parametrizované třídy - generics
1 Parametrizované třídy Generics generické třídy JDK zavádí mimo jiné tzv. parametrizované třídy - generics Úvod 2 podobnost se šablonami (templates) z C++ nejčastěji použité v oblasti knihoven kontejnerového
VíceJAVA Unit testing Java, zimní semestr
JAVA Unit testing Úvod unit testing testování malý jednotek funkčnosti jednotka nezávislá na ostatních testování zcela oddělené vytvářejí se pomocné objekty pro testování kontext typicky v OO jazycích
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í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 - Kresba. 2/28/11 1/8 Java - kresba
Java - Kresba Základní entity a jejich kresba ve třídě Graphics nemůžeme nastavit linii, šířku a typ, z grafických atributů jí můžeme nastavit pouze barvu Linie (čára)... drawline(int x1, int y1, int x2,
VíceObsah přednášky. GUI v Javě a událostmi řízené programování. Základní prvky grafického rozhraní. Základní komponenty.
GUI v Javě a událostmi řízené programování Obsah přednášky GUI v Javě (připomínka) Návrhář GUI Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 4 A0B36PR2
Ví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íceUdálosti. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické
Události A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Zpracování událostí - obsah 1. Připomenutí GUI 2. Co to je událost 3. Koncepce zpracování událostí 4. Zpracování vlastností
VíceGUI v Javě (připomínka) Návrhář GUI Příklad aplikace MVC Model-View-Controller Události Vnitřní třídy. MVC Model-View-Controller
GUI v Javě a událostmi řízené programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 4 A0B36PR2 Programování 2 Obsah přednášky GUI v Javě (připomínka)
VíceFronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4
Fronta (Queue) Ú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 Fronta uplatňuje mechanismus přístupu FIFO first
VíceObsah přednášky. GUI v Javě a událostmi řízené programování. Základní prvky grafického rozhraní. Základní komponenty.
GUI v Javě a událostmi řízené programování Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 6 B0B36PJV Programování v JAVA Obsah přednášky GUI v Javě
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íceGUI v Javě a událostmi řízené programování
GUI v Javě a událostmi řízené programování Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 6 B0B36PJV Programování v JAVA Jan Faigl, Jiří Vokřínek,
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í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íceGUI v Javě a událostmi řízené programování
GUI v Javě a událostmi řízené programování Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 6 B0B36PJV Programování v JAVA Jan Faigl, Jiří Vokřínek,
VíceGUI v Javě a událostmi řízené programování
GUI v Javě a událostmi řízené programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 4 A0B36PR2 Programování 2 Jan Faigl, 2016 A0B36PR2 Přednáška
Ví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 GUI události. Událostmi řízené programování. Zpracování = obsluha událostí
Java GUI události Cílem kapitoly je přiblížit hlavní princip událostmi řízeného programování a ukázat na příkladu způsob řešení pro konkrétní případ. Soubor obsahuje také tabulku s přehledem nejčastěji
Ví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íceGoogle Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky
Google Web Toolkit Martin Šurkovský, SUR096 Vysoká škola Báňská - Technická univerzita Ostrava Katedra informatiky 29. března 2010 Martin Šurkovský, SUR096 (VŠB - TUO) Google Web Toolkit 29. března 2010
VíceJAVA Unit testing Java, zimní semestr
JAVA Unit testing Úvod unit testing testování malý jednotek funkčnosti jednotka nezávislá na ostatních testování zcela oddělené vytvářejí se pomocné objekty pro testování kontext typicky v OO jazycích
VíceJava a XML. 10/26/09 1/7 Java a XML
Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis
Ví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í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íceJava pro programátory.net
Java pro programátory.net Lukáš Zapletal lukas.zapletal@qcm.cz Představení jazyka Co je to Java? [džáva] Java je objektově orientovaný jazyk stvořený pro vestavěná zařízení, který se uchytil v mnoha oblastech
VíceProjekty pro výuku programování v jazyce Java
JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Pedagogická fakulta Katedra informatiky Akademický rok: 2006/2007 TEZE BAKALÁŘSKÉ PRÁCE Projekty pro výuku programování v jazyce Java Jméno: František Přinosil
VíceTechnologie JavaBeans
Technologie JavaBeans doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Historie Komponentový model Typy komponent
Ví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íceSpráva paměti. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016
Správa paměti Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016 Objektové modelování, B36OMO 10/2016, Lekce 2 https://cw.fel.cvut.cz/wiki/courses/xxb36omo/start
Ví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í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 sledujte stav paměti
VíceStatické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
VíceJava a Caché IV: Manipulace s objekty
1 z 6 11.1.2007 11:13 přihlašovací jméno heslo Registrace Přihlásit články odkazy aktuality CZJUG konference o portálu přidejte se o nás Vyhledávání Text: najdi Oborový filtr J2ME J2SE J2EE Enterprise
VíceJava pro programátory.net
Java pro programátory.net Lukáš Zapletal liberix.cz Představení jazyka Co je to Java? [džáva] Java je objektově orientovaný jazyk stvořený pro vestavěná zařízení, který se uchytil v mnoha oblastech od
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í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í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í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íceTvorba informačních systémů
Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních
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íceZáklady objektové orientace I. Únor 2010
Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných
Více10 Balíčky, grafické znázornění tříd, základy zapozdření
10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému
VíceRMI - Distribuované objekty v Javě
Vysoká škola báňská - Technická univerzita Ostrava 30. března 2009 Osnova Co je to RMI? 1 Co je to RMI? 2 Vnější pohled Vrstvy RMI Stub & Skeletons Layer Remote Reference Layer Transport Layer Pojemnování
VíceVí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í
VíceGUI v Javě. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 3 A0B36PR2 Programování 2
GUI v Javě Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 3 A0B36PR2 Programování 2 Jan Faigl, 2016 A0B36PR2 Přednáška 3: GUI v Javě 1 / 56 Část 1 Příklad
VíceČást I Příklad - Generické typy, iterátor
Část 1 Příklad - Generické typy, iterátor GUI v Javě Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 3 A0B36PR2 Programování 2 Generické typy Příklad
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íceKlíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda
Anotace sady: Úvod do objektově orientovaného programování, VY_32_INOVACE_PRG_OOP_01 Autor: Blanka Sadovská Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda Druh učebního materiálu:
Ví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íceJAVA. Krátke poznámky:
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
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íceGrafické uživatelské rozhraní v Javě. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické
Grafické uživatelské rozhraní v Javě A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Grafický návrh - příklad ToolBar Menu soubor nový, otevřít, uložit, exportovat, konec...
Více8. Grafické uživatelské rozhraní
8. Grafické uživatelské rozhraní Až dosud jsme pro výstupy a vstupy do našich programů využívali pouze konzoli nebo soubor. Java nám však poskytuje nástroje pro tvorbu grafického uživatelského rozhraní,
VíceGrafické uživatelské rozhraní v Javě. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické
Grafické uživatelské rozhraní v Javě A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Grafický návrh - příklad určíme základní rozvržení určíme chování okna při zvětšování
VíceGUI v Javě. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 3 A0B36PR2 Programování 2
GUI v Javě Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 3 A0B36PR2 Programování 2 Jan Faigl, 2016 A0B36PR2 Přednáška 3: GUI v Javě 1 / 56 Část 1 Příklad
VíceČást I Příklad - Generické typy, iterátor
Část 1 Příklad - Generické typy, iterátor Část 2 Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 3 A0B36PR2 Programování 2 Generické typy Příklad - Spojový
VíceStream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci
Základy programovaní 4 (Java) Stream API Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/ZP4JV 5. listopad, 2014 1 / 10 Stream API Java 8 nový přístup k práci s kolekcemi
VíceLambda funkce Novinky v interfaces Streamy Optional - aneb zbavujeme se null. Java 8. Ondřej Hrstka
Java 8 Ondřej Hrstka Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 13 A0B36PR2 Programování 2 Ondřej Hrstka, 2015 A0B36PR2 Přednáška 13: Java 8 1 / 26 Obsah Lambda
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íceKomponenty v.net. Obsah přednášky
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 Rozdíl mezi COM a.net Distribuce komponent Programování
VíceMělká a hluboká kopie
Karel Müller, Josef Vogel (ČVUT FIT) Mělká a hluboká kopie BI-PA2, 2011, Přednáška 5 1/28 Mělká a hluboká kopie Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky, Fakulta
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íce8. GRAFICKÉ UŽIVATELSKÉ ROZHRANÍ
8. GRAFICKÉ UŽIVATELSKÉ ROZHRANÍ Abstract Window Toolkit (AWT) je část Java Core API, kterou tvoří balíky: java.awt, java.awt.event (od JDK 1.1), java.awt.image, java.awt.datatransfer (od JDK 1.1). AWT
Ví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íceProgramování II. Návrh programu I 2018/19
Programování II Návrh programu I 2018/19 Osnova přednášky Co víme? Objektový návrh programu. Příklad. Co víme? Třída Třída je popisem objektů se společnými vlastnostmi. class private:
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 sledujte stav paměti
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í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í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í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íceStromy. Příklady. Rekurzivní datové struktury. Základní pojmy
Základní pojmy Stromy 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 Graf uzly hrany orientované / neorientované Souvislý
VíceUJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/
UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok
VíceProgramování v C++ 3, 3. cvičení
Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového
Ví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íceTřídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);
Programovací jazyk PHP 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 Třídy a objekty Výjimky Webové aplikace
Více7. Statické prvky třídy
Statické prvky třídy strana 61 7. Statické prvky třídy V úvodních kapitolách jsme popsali deklaraci a používání datových atributů a metod instance. Jsou to nejčastě ji používané součásti třídy, nicméně
VíceArchitektury informačních systémů
Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to
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íceArchitektury informačních systémů
Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to
VíceBridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
VícePetr Aubrecht. Gerstner Laboratory,
1 Petr Aubrecht Gerstner Laboratory, 19. 4. 2004 slušn ě napsaná aplikace vynucuje správné návyky (třídy, výjimky, dokumentace, správa thread ů, coding standard, pojmenovávání...) multithreading zdědit
Více