Újdonságok a Java nyelvben
|
|
- Margit Nagyné
- 6 évvel ezelőtt
- Látták:
Átírás
1 Újdonságok a Java nyelvben Kozsik Tamás kto@elte.hu Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
2 Tartalom 1 Sablonok 2 Auto-(un)boxing 3 Megizmosított léptetős ciklus 4 Változó számú argumentumok 5 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos 6 Statikus tagok importálása 7 Felsorolási típusok 8 Annotációk 9 Programkönyvtárak Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
3 Tartalom 1 Sablonok 2 Auto-(un)boxing 3 Megizmosított léptetős ciklus 4 Változó számú argumentumok 5 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos 6 Statikus tagok importálása 7 Felsorolási típusok 8 Annotációk 9 Programkönyvtárak Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
4 Tartalom 1 Sablonok 2 Auto-(un)boxing 3 Megizmosított léptetős ciklus 4 Változó számú argumentumok 5 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos 6 Statikus tagok importálása 7 Felsorolási típusok 8 Annotációk 9 Programkönyvtárak Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
5 Tartalom 1 Sablonok 2 Auto-(un)boxing 3 Megizmosított léptetős ciklus 4 Változó számú argumentumok 5 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos 6 Statikus tagok importálása 7 Felsorolási típusok 8 Annotációk 9 Programkönyvtárak Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
6 Tartalom 1 Sablonok 2 Auto-(un)boxing 3 Megizmosított léptetős ciklus 4 Változó számú argumentumok 5 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos 6 Statikus tagok importálása 7 Felsorolási típusok 8 Annotációk 9 Programkönyvtárak Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
7 Tartalom 1 Sablonok 2 Auto-(un)boxing 3 Megizmosított léptetős ciklus 4 Változó számú argumentumok 5 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos 6 Statikus tagok importálása 7 Felsorolási típusok 8 Annotációk 9 Programkönyvtárak Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
8 Tartalom 1 Sablonok 2 Auto-(un)boxing 3 Megizmosított léptetős ciklus 4 Változó számú argumentumok 5 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos 6 Statikus tagok importálása 7 Felsorolási típusok 8 Annotációk 9 Programkönyvtárak Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
9 Tartalom 1 Sablonok 2 Auto-(un)boxing 3 Megizmosított léptetős ciklus 4 Változó számú argumentumok 5 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos 6 Statikus tagok importálása 7 Felsorolási típusok 8 Annotációk 9 Programkönyvtárak Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
10 Tartalom 1 Sablonok 2 Auto-(un)boxing 3 Megizmosított léptetős ciklus 4 Változó számú argumentumok 5 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos 6 Statikus tagok importálása 7 Felsorolási típusok 8 Annotációk 9 Programkönyvtárak Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
11 Sablonok Sablonok Generikusok, generic Típussal való paraméterezhetőség public interface List<E> extends Collectioni<E> {... <T> T[] toarray(t[] a); A legfontosabb újítás Generikus programozás Újrafelhasználhatóság Típusbiztonság C++ template, Ada generic stb. Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
12 Auto-(un)boxing Auto-(un)boxing Automatikus átalakítás primitív típusok és csomagoló osztályok között Szintaktikus cukorka Kényelmes, de elfedi, hogy költséggel jár Kényelmes a sablonok használatánál Oda-vissza működik int i = new Integer(3); Integer j = 3; Integer k = new Integer(2) + new Integer(5); ArrayList<Integer> seq = new ArrayList<Integer>(); seq.add(5); Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
13 Megizmosított léptetős ciklus Megizmosított léptetős ciklus Enhanced for-loop Iterálás adatszerkezeteken Szintaktikus cukorka Bizonyos iterálási idiómák kiváltására Rövidebbé, frappánsabbá, áttekinthetőbbé teszi a kódot Szintaxis for( Elemtípus változó: adatszerkezet ) törzs Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
14 Megizmosított léptetős ciklus Iterálás tömbökön Régebben... static double sum( double[] array ){ double sum = 0.0; for( int i=0; i<array.length; ++i ){ sum += array[i]; return sum; Újabban: static double sum( double[] array ){ double sum = 0.0; for( double element: array ){ sum += element; return sum; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
15 Megizmosított léptetős ciklus Iterálás tömbökön Régebben... static double sum( double[] array ){ double sum = 0.0; for( int i=0; i<array.length; ++i ){ sum += array[i]; return sum; Újabban: static double sum( double[] array ){ double sum = 0.0; for( double element: array ){ sum += element; return sum; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
16 Megizmosított léptetős ciklus Iterálás egyéb adatszerkezeteken Kell, hogy java.lang.iterable leszármazottja legyen Ezt kell megvalósítani: public interface Iterable<T> { java.util.iterator<t> iterator(); Például a Collections Framework ilyen java.util.collection És leszármazottjai... Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
17 Megizmosított léptetős ciklus Iterálás például egy sorozaton Régebben... static double sum( List seq ){ double sum = 0.0; Iterator it = seq.iterator(); while( it.hasnext() ) sum += ((Double)it.next()).doubleValue(); return sum; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
18 Megizmosított léptetős ciklus Iterálás például egy sorozaton Vagy akár... static double sum( List seq ){ double sum = 0.0; for( Iterator it = seq.iterator(); it.hasnext(); ) sum += ((Double)it.next()).doubleValue(); return sum; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
19 Megizmosított léptetős ciklus Iterálás például egy sorozaton Sablonokkal: static double sum( List<Double> seq ){ double sum = 0.0; for( Iterator<Double> it = seq.iterator(); it.hasnext(); sum += it.next().doublevalue(); return sum; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
20 Megizmosított léptetős ciklus Iterálás például egy sorozaton... és automatikus konverzióval: static double sum( List<Double> seq ){ double sum = 0.0; for( Iterator<Double> it = seq.iterator(); it.hasnext(); sum += it.next(); return sum; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
21 Megizmosított léptetős ciklus Iterálás például egy sorozaton Enhanced for-loop: static double sum( List<Double> seq ){ double sum = 0.0; for( Double element: seq ) sum += element; return sum; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
22 Változó számú argumentumok Változó számú argumentumok A C-ből ismert printf olyan, de olyan praktikus Kicsit veszélyes ugyan a végrehajtási veremmel játszani Lehet hasonlót csinálni egy szigorú(bb)an típusos nyelvben? Na, ez Javában a varargs Szintaktikus cukor Azonos típusú paraméterből 0, 1 vagy több, a paraméterlista végén Altípusosság? Object? Auto-(un)boxing? Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
23 Hogyan? Változó számú argumentumok Definíció static String concat( String... strings ){ StringBuilder sb = new StringBuilder(); for( String s: strings ){ sb.append(s); return sb.tostring(); Használat String s2 = concat("hello ", "World!"); String s3 = concat("i ", "Say ", s2); String s1 = concat(s2); String s0 = concat(); Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
24 Altípusosság? Változó számú argumentumok Definíció static String concat( Object... objects ){ StringBuilder sb = new StringBuilder(); for( Object o: objects ){ sb.append(o.tostring()); return sb.tostring(); Használat String s2 = concat("hello ", "World!"); String s3 = concat(vector, s2, thread); Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
25 Auto-(un)boxing Változó számú argumentumok Definíció static double sum( Double... numbers ){ double sum = 0.0; for( Double num: numbers ){ sum += num; return sum; Használat double d = sum( 3.1, 4.2, 5.6 ); Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
26 Változó számú argumentumok printf java.io.printstream public PrintStream printf( String format, Object... args ) Használat System.out.printf( "The sum of %d and %d is %d.%n", a, b, a+b ); Eredmény The sum of 3 and 5 is 8. Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
27 Változó számú argumentumok sprintf? java.lang.string public static String format(string format, Object... args) Használat String.format("<A HREF=\"%s\">%s</A>",address,tag) Eredmény <A HREF=" homepage</a> Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
28 Változó számú argumentumok Formázási lehetőségek gazdag választéka Például Calendar c =... String format = "Duke s Birthday: %1$th %1$te,%1$tY"; String s = String.format(format, c); Eredmény Duke s Birthday: May 23, 1995 Szintaxis %[argument_index$][flags][width]conversion Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
29 Változó számú argumentumok Háttér Vararg Tömbre fordul, de meg van különböztetve a tömbtől Ugyanaz a megizmosított léptetős ciklus, mint tömb és Iterable esetén static double sum( Double... numbers ){ double sum = 0.0; for( Double num: numbers ){ sum += num; return sum; Jelentése static double sum( Double[] numbers ){ double sum = 0.0; for( Double num: numbers ){ sum += num; return sum; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
30 Változó számú argumentumok Háttér Vararg static double sum( Double... numbers ){... sum( 3.0, 6.0 ) Jelentése static double sum( Double[] numbers ){... sum( new Double[]{new Double(3.0), new Double(6.0) ) Nem hívható így: sum( new Double[]{3.0, 6.0, 7.0, 1.0 ) sum( new Double[]{new Double(3.0), new Double(6.0) ) Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
31 Kovariáns visszatérési érték Kovariáns visszatérési érték Nyelvi változás (nem szintaktikus cukor) A lehetőség korábban is benne volt a JVM-ben Metódus felüldefiniálásánál szűkíthető a visszatérési érték típusa Kovariáns: együtt változó Ugyanúgy, ahogy eddig a kiváltható ellenőrzött kivételek (speciális visszatérési értékek) A paraméterek típusa továbbra is invariáns A hozzáférési kategória is kontravariáns Vö. C++ Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
32 Kovariáns visszatérési érték Példa mély másolat interface Copyable { Copyable copy(); class Tree implements Copyable { double content; Tree left, right; Tree(double content){this.content = content; public Tree copy(){ Tree result = new Tree(content); if( left!= null ){ result.left = left.copy(); if( right!= null ){ result.right = right.copy(); return result; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
33 Kovariáns visszatérési érték Példa mély másolat interface Copyable { Copyable copy(); class Tree implements Copyable { double content; Tree left, right; Tree(double content){this.content = content; public Tree copy(){ Tree result = new Tree(content); if( left!= null ){ result.left = left.copy(); if( right!= null ){ result.right = right.copy(); return result; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
34 Példa Cloneable Kovariáns visszatérési érték class Tree implements Clonable {... public Tree clone(){ // deep copy try { Tree result = (Tree)super.clone(); if( left!= null ){ result.left = left.clone(); if( right!= null ){ result.right = right.clone(); return result; catch(clonenotsupportedexception e){ assert false : "This simply cannot happen."; return null; class SortTree extends Tree {... public SortTree clone(){ return (SortTree)super.clone(); Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
35 Kovariáns visszatérési érték Kovariáns paraméter jó lenne? Kovariáns paraméter sebezhető és tilos interface Food { interface Animal { void eat( Food food ); class Grass implements Food { class Antelope implements Food, Animal { public void eat( Food food ){ class Lion implements Animal { public void eat( Food food ){ Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
36 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos Kovariáns paraméter: szerencsére fordítási hiba interface Food { interface Animal { void eat( Food food ); class Grass implements Food { class Antelope implements Food, Animal { public void eat( Grass food ){ class Lion implements Animal { public void eat( Antelope food ) { class Problematic { public static void main( String[] args ){ Animal lion = new Lion(); lion.eat(new Grass()); Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
37 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos Kovariáns paraméternek tűnik, pedig túlterhelés interface Food { class Animal { void eat( Food food ){ class Grass implements Food { class Antelope extends Animal implements Food { public void eat( Grass food ){ class Lion extends Animal { public void eat( Antelope food ) { class Problematic { public static void main( String[] args ){ Animal lion = new Lion(); lion.eat(new Grass()); Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
38 Kovariáns visszatérési érték Kovariáns paraméter sebezhető és tilos Fordítási hiba kikényszerítése annotációval interface Food { class Animal { void eat( Food food ){ class Grass implements Food { class Antelope extends Animal implements Food public void eat( Grass food ){ class Lion extends Animal public void eat( Antelope food ) { Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
39 Kovariáns visszatérési érték Sablonok segítségével Kovariáns paraméter sebezhető és tilos interface Food { interface Animal<F extends Food> { void eat( F food ); class Grass implements Food { class Antelope implements Food, Animal<Grass> { public void eat( Grass food ){ class Lion implements Animal<Antelope> { public void eat( Antelope food ) { Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
40 Statikus tagok importálása Statikus tagok importálása static import Új nyelvi elem (nem csak szintaktikus cukor) Importálás: rövid névvel használhatóvá tevés Ezentúl nem csak típusokat lehet importálni Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
41 Statikus tagok importálása Korábbi import utasítások Típusok importálása Akár beágyazott típusoké is Importálható egy utasítással Egy bizonyos típus megadása, vagy Minden közvetlenül tartalmazott típus egy adott egységhez képest Példák import java.util.vector; import java.io.*; import java.util.map.entry; import java.text.format.*; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
42 Statikus tagok importálása Újdonság Példa Nem csak típusok, hanem statikus tagok is importálhatók Statikus metódusok Statikus attribútumok import static utasítás Importálható egy utasítással egy név, vagy egy típus összes statikus tagja import static java.util.arrays.sort; class Sorting { public static void main( String[] args ){ sort(args); for( String s: args ){ System.out.println(s); Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
43 Felsorolási típusok Felsorolási típusok Nyelvi újdonság A korábbi szegény ember felsorolási típusa helyett Sokkal biztonságosabb, mint a C++ enum-ja Kompatibilitás Lényegében osztály Szintaktikus és szemantikus támogatással Használat Egyszerű esetekben tömör Igény szerint cifrázható Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
44 Felsorolási típusok Szegény ember felsorolási típusa Nem típusbiztos package java.awt; public class Font implements java.io.serializable { public static final int PLAIN = 0; public static final int BOLD = 1; public static final int ITALIC = 2;... Többszörözési problémák package java.awt; import java.io.serializable; public class Color implements Serializable, Paint { public static final Color RED; public static final Color BLACK;... Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
45 Felsorolási típusok Többszörözési problémák Típusbiztos enum public class Color implements Serializable, Paint { public static final Color RED; public static final Color BLACK;... A konstruktort le kell tiltani (pl. priváttá tenni) Jól működik az ==? Különböző osztálybetöltők akkor is többszörözik Reflection segítségével többszörözhető Ha szerializálható, akkor úgy is többszörözhető Mindenesetre legalább az equals-t jól meg kell írni Mindig félhetünk... Color c1, c2;... if( c1!= c2 ){ /* lehet, hogy mindkettő Color.BLACK */ Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
46 Felsorolási típusok Szegény ember felsorolási típusa és a statikus tagok importálása Felsorolási típus package java.awt; import java.io.serializable; public class Color implements Serializable, Paint { public static final Color RED; public static final Color BLACK;... Használó kód import static java.awt.color; import static java.awt.color.*; Color c = BLACK; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
47 Felsorolási típusok A felsorolási típus megjelentével Típusdefiníció public enum Napok { HÉTFŐ, KEDD, SZERDA, CSÜTÖRTÖK, PÉNTEK, SZOMBAT, VASÁRNAP; Többszörözési problémák nem lépnek fel Nem lehet példányosítani (fordítási hiba) Nem lehet klónozni (final clone) Szerializációs támogatás Reflektív példányosítás is kizárva Az == és a!= jól működik Nem lehet belőlük származtatni (final) Rögzített implicit szülőosztály (java.lang.enum<e>) Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
48 Felsorolási típusok Műveletek Megörökölt műveletek public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable sorszám (ordinal) összehasonlítás (compareto) stringkonverziók (tostring, valueof) Tömb a típusértékekből (automatikusan jár) public static Napok[] values() Definiálhatunk további műveleteket És persze konstruktorokat, attribútumokat stb. Mint a közönséges konkrét osztályok esetén Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
49 Felsorolási típusok Néhány szép kódrészlet Iterálás a típusértékeken for( Napok nap: Napok.values() ) System.out.println(nap); Iterálás a típusértékek egy részsorozatán for( Napok nap: EnumSet.range(Napok.HÉTFÕ,Napok.PÉNTEK) ) System.out.println(nap); // olcsó megoldás Támogatás elágazáshoz int munkaórák; switch(nap){ case HÉTFÕ: case KEDD: case CSÜTÖRTÖK: munkaórák = 9; break; case SZERDA: munkaórák = 7; break; case PÉNTEK: munkaórák = 6; break; default: munkaórák = 0; Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
50 Adatszerkezetek Felsorolási típusok Hatékony halmaz és leképezés EnumSet<E extends Enum<E>> Bitvektorral ábrázolva Kisebb típusértékhalmaz esetén egy long Még a metszet, unió stb. műveletek is konstans idejűek tudnak így lenni EnumMap<K extends Enum<K>,V> Tömbbel ábrázolva Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
51 Felsorolási típusok Saját műveletek definiálása public enum Coin { PENNY(1), NICKEL(5), DIME(10), QUARTER(25); Coin(int value) { this.value = value; private final int value; public int value() { return value; class CoinTest { public static void main(string[] args) { for (Coin c : Coin.values()) System.out.println(c+"\t"+c.value()+"c\t"+color(c)); private enum CoinColor { COPPER, NICKEL, SILVER private static CoinColor color(coin c) { switch(c) { case PENNY: return CoinColor.COPPER; case NICKEL: return CoinColor.NICKEL; case DIME: case QUARTER: return CoinColor.SILVER; default: throw new AssertionError("Unknown: "+c); Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
52 Felsorolási típusok Még példák Planet Operation Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
53 Annotációk Annotációk Máshol... Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
54 Programkönyvtárak Programkönyvtárak Konkurrencia JWS Management XML Tools Kozsik Tamás (ELTE) Újdonságok a Java nyelvben / 44
Programozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked
A Java és a C++ összehasonlítása
A Java és a C++ összehasonlítása Kozsik Tamás kto@elte.hu http://kto.web.elte.hu/ Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék 2008. Kozsik Tamás (ELTE) A Java és a C++
List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error
Generics Egyszerűbb példák (java.util csomagból): public interface List { void add(e x); Iterator iterator(); public interface Iterator { E next(); boolean hasnext(); E - formális típusparaméter,
Programozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is
Imperatív és procedurális programozás a Javában
Imperatív és procedurális programozás a Javában Kozsik Tamás kto@elte.hu http://kto.web.elte.hu/ Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék 2008. Kozsik Tamás (ELTE)
OOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
Programozási nyelvek II. JAVA EA+GY 1. gyakolat
Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről
Generikus osztályok, gyűjtemények és algoritmusok
Programozási, gyűjtemények és algoritmusok bejárása Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 bejárása 2 bejárása 2 Java-ban és UML-ben bejárása Az UML-beli paraméteres osztályok a Java
Programozási technológia
Programozási technológia Generikus osztályok Gyűjtemények Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Generikus osztályok Javaban az UML paraméteres osztályainak a generikus (sablon) osztályok felelnek
OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN
OOP: Java 11.Gy: Enumok, beágyazott osztályok 13/1 B ITv: MAN 2019.04.24 ArrayList Rugalmas tömb A tömbök korlátai Fix méret, nem lehet menet közben megnövelni Ha túl nagyra választjuk, fölösleges helyfoglalás
Collections. Összetett adatstruktúrák
Collections Összetett adatstruktúrák Collections framework Előregyártott interface-ek és osztályok a leggyakoribb összetett adatszerkezetek megvalósítására Legtöbbször módosítás nélkül használhatók Időt,
Programozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 13. gyakorlat 2017. december 11-15. 13. gyakorlat Programozási nyelvek II.: JAVA 1 / 32 Az 13. gyakorlat tematikája Generikus típusokés öröklődés Clone Comparator Névtelen
Programozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o
Miért Java? széleskörben elterjedt Micro Edition - beágyazott rendszerek, régi telefonok Standard Edition - PC, android ezen alapul Enterprise Edition - vállalati programok, web service-ek multiplatform
Java programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
Programozás I. Első ZH segédlet
Programozás I. Első ZH segédlet Ezen az oldalon: kiírás az alapértelmezett (hiba) kimenetre, sztring konkatenáció, primitív típusok, osztály létrehozás, példányosítás, adattagok, metódusok Kiíratás alapértelmezett
Mi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani
Mi a legabsztraktabb típus a JAVA-ban? Object Mikor preferált interface-ek használata a konkrét típusok helyett? Ha egy osztály több interfacet is használhasson, vagy ha fvek implementálását a az osztályra
Programozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 6. gyakorlat 2017. október 16-20. 6. gyakorlat Programozási nyelvek II.: JAVA 1 / 1 Az 6. gyakorlat tematikája Túlterhelés - összefoglalás statikus adattagok és metódusok
Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?
A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály
Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
JAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
Programozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
Osztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
Programozási nyelvek II.: JAVA, 4. gyakorlat
Programozási nyelvek II.: JAVA, 4. gyakorlat 2017. október 2-6. Programozási nyelvek II.: JAVA, 4. gyakorlat 1 / 32 A 4. gyakorlat tematikája Tömbök A java.util.arrays osztály A String osztály A StringBuffer
Bánsághi Anna anna.bansaghi@mamikon.net
ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64
Java programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
Magas szintű programozási nyelvek 2 Előadás jegyzet
Magas szintű programozási nyelvek 2 Előadás jegyzet 1. Rendszerfejlesztés 0. lépés: Elemzés (analízis) 1. lépés: Tervezés a, technológia független rész b, technológia függő rész 2. lépés: Megvalósítás
Programozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 6. gyakorlat 2017. október 16-20. 6. gyakorlat Programozási nyelvek II.: JAVA 1 / 24 Az 6. gyakorlat tematikája túlterhelés - összefoglalás statikus adattagok és metódusok
Programozási nyelvek Java
Programozási nyelvek Java 11.gyakorlat Operációsrendszertől függő tulajdonságok PATH elválasztó Unix ":" Windows ";" final String PATH_SEPARATOR = File.pathSeparator; Ugyanaz, csak karakterkent final char
C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18
C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi
Önelemzés és a JavaBean komponensmodell
Kozsik Tamás kto@elte.hu http://kto.web.elte.hu/ Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék 2008. Önelemzés Introspection, reflection Futás közben vizsgáljuk a kódot
C#, OOP. Osztályok tervezése C#-ban
C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat
Segédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 2. gyakorlat 1 Osztályok és objektumok default, public, protected, private láthatóság a metódusokra és adattagokra (első
Szoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;
PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function
Java adattípusok Java programozás alapjai Egyszerű adattípusok (int, float) Osztályokkal objektumok Nincs külön mutató, referencia, címe operátor, helyette: objektumok csak dinamikusan hozhatok létre és
Programozási nyelvek II. JAVA EA+GY 1. gyakolat
Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről
C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem
C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real
Algoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 6. Ugrólista (Skiplist) Definíció. Olyan adatszerkezet, amelyre
Segédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 12. gyakorlat 1 Távoli metódushívás Java-ban (RMI) Java-ban a távoli metódushívás ( Remote Method Invocation, RMI) egy
Java programozási nyelv
Szoftvertechnológia sáv Java programozási nyelv Dirk Louis-Peter Müller: Java (Belépés az internet világába) Panem kiadó, Budapest, 2002. Webvilág sorozat Készítette: Gregorics Tibor Vázlatos áttekintés
Generikus Típusok, Kollekciók
Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető
PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19
PHP II. WEB technológiák Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 Tartalomjegyzék Objektum Orientált Programozás 1 Objektum Orientált Programozás Öröklődés 2 Fájlkezelés
Programozási nyelvek II.: JAVA, 4. gyakorlat
Programozási nyelvek II.: JAVA, 4. gyakorlat 2017. október 2-6. Programozási nyelvek II.: JAVA, 4. gyakorlat 1 / 29 A 4. gyakorlat tematikája Tömbök A java.util.arrays osztály A String osztály StringBuilder
Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
Dinamikus adatszerkezetek. 2D generikus tömb: C++ 2D generikus tömb: C++
Dinamikus adatszerkezetek 2D generikus tömb: C++ template class CArray2D protected: TYPE **m_array; long m_row, m_col; public: CArray2D(long row, long col) // konstruktor m_array = new TYPE*[row];
Dinamikus adatszerkezetek. 2D generikus tömb: C++ 2D generikus tömb: C++ 2D tömb: Java versus C++ 2D tömb: Java.
2D generikus tömb: C++ Dinamikus adatszerkezetek template class CArray2D protected: TYPE **m_array; long m_row, m_col; public: CArray2D(long row, long col) // konstruktor m_array = new TYPE*[row];
Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java
Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:
A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok
A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)
Java és web programozás
Budapesti M szaki Egyetem 2015. 03. 18. 5. El adás Ismétlés: osztály, konstruktor, objektum public class Complex { private float repart_; private float impart_; public Complex(float repart, float impart)
és az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
Informatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
Alprogramok, paraméterátadás
ELTE Informatikai Kar, Programozási Nyelvek és Fordítóprogramok Tanszék October 24, 2016 Programozási nyelvek Alprogramok Függvények, eljárások Metódusok Korutinok stb. Alprogramok Alprogram: olyan nyelvi
Java VII. Polimorfizmus a Java nyelvben
Java VII. Polimorfizmus a Java nyelvben Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 19. Java VII. Polimorfizmuss JAVA7 / 1 A kötés (binding( binding) ) fogalma Kötés (binding)
Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák
Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák Gelle Kitti 2017. 10. 25. Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák 2017. 10. 25. 1 / 20 Hasítótáblák T 0 h(k 2)
A C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
Java programozási nyelv 6. rész Java a gyakorlatban
Java programozási nyelv 6. rész Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A Java programozási nyelv Soós Sándor 1/16 Tartalomjegyzék
OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés
OOP: Java 6.Gy: Java osztályok Definíció, static, túlterhelés 45/1 B ITv: MAN 2019.03.18 Feladat Készítsen egy Alkalmazott osztályt saját csomagban, név, kor és fizetés adatokkal. Legyen egy osztályszintű
Abstract osztályok és interface-ek. 7-dik gyakorlat
Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,
Programozási technológia
Programozási technológia UML emlékeztető, Öröklődés Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. UML Osztályok jelölése A diagramokban az osztály jelölésénél a nevét, az attribútumok nevét és a műveletek
Java VII. Polimorfizmus a Java nyelvben
Java VII. Polimorfizmus a Java nyelvben Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 19. Java VII. Polimorfizmuss JAVA7 / 1 A kötés (binding( binding) ) fogalma Kötés (binding)
OOP: Java 8.Gy: Gyakorlás
OOP: Java 8.Gy: Gyakorlás 43/1 B ITv: MAN 2019.04.10 43/2 Egy régebbi beszámoló anyaga 1. Feladat: Készítsen egy Szemely nevű osztályt a szokásos konvenciók betartásával, amely tárolja egy ember nevét
Osztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
Osztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
Delegátumok C#-ban Krizsán Zoltán iit
Krizsán Zoltán Események kezelése Nem kell vizuális felületnek letnek lennie. segíts tségével valósíthatja meg a.net. 2 Típusos fv.. pointer Biztonságos kódkk dkészítés s miatt tiltott a pointer aritmetika
C# osztályok. Krizsán Zoltán
C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC
7. K: JAVA alapok Konzultáció
Objektum Orientált Programozás 7. K: JAVA alapok Konzultáció 35/1B IT MAN B IT v: 2017.05.03 MAN Hiba, biztonságos program 01. Szintaktikai hiba imt i = 0; system.out.println( alma ); for (int i = 0, i
Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat
Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot
Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás
1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
JAVA nyelvi alapok. Adatbányászati technikák (VISZM185) Dávid István david@cs.bme.hu
JAVA nyelvi alapok Adatbányászati technikák (VISZM185) Dávid István david@cs.bme.hu Bevezető Hol és miért van szükség a JAVÁra az adatbányászatban? Programozott végrehajtás (imperatív, WF ) Platform (JRE
Bánsághi Anna anna.bansaghi@mamikon.net
ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 1. ELŐADÁS - C# ÁTTEKINTÉS - 1 2015 Bánsághi Anna 1 of 84 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 84
Programozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
JAVA PROGRAMOZÁS 3.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram
Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 5. gyakorlat 1 Objektumorientáltság Egységbezárás és információ elrejtése (absztrakt adattípus) Adatok és rajtuk végzett műveletek egységbezárása (osztályok írása, múlt hét) Öröklődés Polimorfizmus
Programozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 12. gyakorlat 2017. december 4-8. 12. gyakorlat Programozási nyelvek II.: JAVA 1 / 39 Az 12. gyakorlat tematikája equals és hashcode metódusok Comparable Set, Map Absztrakt
Osztályszintű elérés, kivételkezelés, fájlkezelés
Programozási, kivételkezelés, fájlkezelés Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 3 4 2 (statikusság) Az osztályban definiált attribútumok és műveletek az osztályból példányosított
Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
Java programozási nyelv 7. rész Java osztálykönyvtár 1.
Java programozási nyelv 7. rész Java osztálykönyvtár 1. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. október A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés
Kivételek kezelése (exception handling) Hibakezelés old style class Szamolo { void szamol( String s, int i ) { int d; if (i!= 0) d = (i+1)/i; else if (s!= null) d = s.length(); else if (i > 10) // applikációs
BME MOGI Gépészeti informatika 8.
BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező
Bevezetés, a C++ osztályok. Pere László
Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK
Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 5. előadás Tömbök átméretezése public static void Resize( ref T[] array, int newsize ) Példa: int[] a=new int[20]; Array.Resize(ref a, 22); 2016. 10. 19.
Programozási nyelvek Java
Programozási nyelvek Java 2. gyakorlat Függvények Általános prototípus Módosítószavak Láthatóság: public, protected, private. Ha nem definiált, akkor úgynevezett package-private láthatóság. Lehet abstract
Kivételkezelés, naplózás. Exception handling, logging
Kivételkezelés, naplózás Exception handling, logging Try-catch try { // Kódrészlet, amely kivételt eredményezhet catch (Exception1 object1 ) { // Az Exception1 kivétel kezelésének megfelelő kód catch (Exception2
Java 5. Ráth István
Java 5 Ráth István rath@mit.bme.hu Áttekintés Java 5 újdonságai Generikus nyelvi eszközök Foreach Dobozolás Enumerációk Varargs Annotációk Kitekintés: Java 6 eszközök Generikus típusok Cél Osztályok, metódusok
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási
Java Programozás 3. Gy: Java GUI. Swing, AWT
Java Programozás 3. Gy: Java GUI Swing, AWT 35/1 B ITv: MAN 2018.02.25 Feladat Készítsük el az Emp osztály kezelő programját úgy, hogy ArrayList-et (listatömb, tömblista, rugalmas tömb) használunk. A java.util.arraylist
Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22
Szerializáció Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) Szerializáció 2014 1 / 22 Tartalomjegyzék 1 Szerializációs Alapfogalmak 2 Szerializációs Megoldások Object Szerializáció XML
Algoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 3. Kiegyensúlyozott keresőfák A T tulajdonság magasság-egyensúlyozó
Bevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 11. előadás 2014.05.12. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Adatszerkezetek
C# versus Java. Óbudai Egyetem, Java Standard Edition Mérnök Informatikus szak, BSc Labor 3. Bedők Dávid v0.4
C# versus Java Óbudai Egyetem, Java Standard Edition Mérnök Informatikus szak, BSc Labor 3 Bedők Dávid 2016.10.01. v0.4 Azonosságok I. Curly-bracket nyelvek ({}) C, C++, PHP, JavaScript, stb.) ProgrammingTheorem
Objektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI
Segédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2010/2011-2 félév, 11. gyakorlat (az előző 2 gyak közül az egyiken ZH volt, a másik szünet miatt elmaradt) 1 JAR fájl készítés A JAR (Java
Java programozás alapjai A Java nyelv C++ szintaktikára épít, számos különbséggel Hello, World (alkalmazás, parancssorból indítható): A HelloWorldApp.java fájl: A főosztály: neve = fájlnév, van benne main