Java - feladatok. Java - feladatok. Oldal 1 / 23
|
|
- Gergő Szekeres
- 4 évvel ezelőtt
- Látták:
Átírás
1 Oldal 1 / 23
2 Feladat Töltse ki az alábbi kódrészlet hiányzó részeit a szabványos Java API elemeivel úgy, hogy mind szintaktikailag, mind szemantikailag helyes megoldás szülessen! FileInputStream fis = new FileInputStream("test.txt"); foo =.(fis); char c = foo.read( ); Adja meg az egyenlőségjel utáni kódrészlet módosított változatát, hogy olyan fájlból tudjunk beolvasni, aminek a létrehozásakor a GZIPOutputStream osztályt használtuk! Milyen szál állapot-értékkel tér vissza a Javaban a Thread.getCurrentThread().getState()? Jelölje (karikázza be) a Java nyelvvel kapcsolatos állítások igazságtartalmát! I H Egy változó statikus típusa nem lehet absztrakt osztály. I H JScrollPane-be csak olyan SWING komponenst szabad tenni, aminek nincs saját görgetősávja Feladat A kulcs felhasználásával jellemezze a Java nyelvvel kapcsolatos állításokat! [ ] Minden List interfészt megvalósító objektum értékül adható Set típusú változónak, mert a Set minden metódusa megtalálható a List-ben is. [ ] Egy objektum wait metódusát csak az objektum monitorában tartózkodó szál hívhatja meg, mert a wait hívása során a szál kilép az objektum monitorából. [ ] Absztrakt osztálynak nem lehet final metódusa, mert az osztályból nem lehet példányt létrehozni. Oldal 2 / 23
3 Feladat A kulcs felhasználásával jellemezze a Java nyelvvel kapcsolatos állításokat! [ ] Egy X osztály foo synchronized metódusa nem lehet final, mert az X leszármazottaiban a foo metódusban az ősosztály egy objektumának monitorát kellene használni. [ ] A private hozzáférési osztályú attribútumok nem szerializálódnak, mert ezeket csak az adott osztály metódusai érhetik el közvetlenül. [ ] A java.awt.event csomagban a WindowAdapter osztály megvalósítja a WindowListener interfészt, mert a WindowAdapter osztály használatával lehetővé válik a többszörös öröklés. Mit ír ki az alábbi Java kódrészlet? Válaszát írja a négyzetrácsba! Map<String, Integer> ht = new HashMap<String, Integer>(); for (int i = 0; i < 3; i++) { if (!ht.containskey("alma")) ht.put("alma", 1); Integer n = ht.get("alma"); n += i; System.out.println(ht.get("alma")); Feladat Jelölje (karikázza be) az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! I H Egy objektum referenciáját tartalmazó változón csak olyan metódus hívható meg, amilyen a változó statikus típusában is szerepel. I H Egy változó dinamikus típusa nem lehet absztrakt osztály. I H Előfordulhat, hogy két szál (T1 és T2) ugyanazon objektum ugyanazon synchronized metódusát futtatva T1 T2 sorrendben lép be, de T2 T1 sorrendben lép ki. I H Ha a t tömböt paraméterként átadjuk egy metódusnak, amelyik a tömb egy elemének új értéket ad, akkor az eredeti tömbben is módosul az érték. Oldal 3 / 23
4 Feladat Sorrendben adja meg, hogy a foo metódus teljes lefutása során a futtató szál milyen állapotokat vesz fel! (Segítségül megadtuk az induló állapotot.) Tételezze fel, hogy a metódus meghívásakor egy másik szál ugyanazon objektum bar metódusát hajtja végre! synchronized void bar() {... synchronized public void foo() { try { this.wait(); catch (Exception e) { 1 RUNNABLE (RUNNING) Feladat Jelölje (karikázza be) az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! I H Egy változó dinamikus típusának nem lehet abstract metódusa. I H Egy változó statikus típusának nem lehet final metódusa. I H Egy interface típusnak csak egyetlen közvetlen őse lehet. I H Az alábbi kódrészlet futtatása végén a b változó értéke true. String s1 = new String("Hello"); String s2 = s1; s2 += " world"; boolean b = (s1 == s2); Oldal 4 / 23
5 Feladat A kulcs felhasználásával jellemezze az alábbi Java kódrészlettel kapcsolatos állításokat! public class X { private long l; private static void foo() { System.out.println("hello"); bar(); public void bar() { System.out.println("world"); public void bar(x x) { System.out.println("world"); x.l=10; protected X copy() { return new X(); public void do() { bar(copy()); [ ] A foo() metódusban hibás a bar() hívása, mert privát láthatóságú metódusból nem hívhatunk publikusat. [ ] A do metódus fordításkor hibát jelez, mert publikus metódus paraméterének nem lehet protected metódus visszatérési értékét adni. [ ] X osztály nem példányosítható, mert nincs paraméter nélküli konstruktora. [ ] X csak egyetlen másik osztálynak lehet a közvetlen őse, mert a Javaban nincs többszörös öröklés Feladat Izidor karácsonyra kapta az alábbi szép UML2 osztálydiagramot, azzal, hogy írja meg az ábrán látható osztályok és interfészek Java forráskódját. Izidor még nem készült fel a Szoftech vizsgára, ezért nem megy neki a dolog. Segíts neki, és készítsd el te a kódot! Minden, az ábrából következő metódust és attribútumot vegyél fel! Ha szükséges, használd a szabványos Java API osztályait is! Minden osztály publikus. A metódusok törzse legyen üres! Oldal 5 / 23
6 Feladat Jelölje (karikázza be) az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! I H for (S x : z) fejlécű for ciklusban a z referencia csak tömbre vagy a JDK-val szállított gyári kollekciók példányaira referálhat. I H egy szál egyszerre csak egy objektum monitorában tartózkodhat. I H synchronized kulcsszó használatával elkerüljük a deadlock kialakulását. I H szálak nem képesek saját magukat közvetlenül waiting állapotból notify-jal felébreszteni. I H előfordulhat, hogy két szál (T1 és T2) ugyanazon objektum ugyanazon synchronized metódusát futtatva T1 T2 sorrendben lép be, de T2 T1 sorrendben lép ki. I H egy változó statikus típusa nem lehet a változó dinamikus típusának leszármazottja. I H egy metódust el lehet látni egyszerre abstract és final módosítóval is Feladat Töltse ki az alábbi kódrészlet hiányzó részeit a szabványos Java API elemeivel úgy, hogy mind szintaktikailag, mind szemantikailag helyes megoldás szülessen! FileOutputStream fis = new FileOutputStream("test.txt"); foo = (fis); foo.write('a'); foo.write('b'); Adja meg az egyenlőségjel utáni kódrészlet módosított változatát, hogy olyan fájlba tudjunk írni, aminek a beolvasásához a GZIPInputStream osztályt kell használnunk! Feladat Adja meg, hogy az alábbi UML2 kollekció-jellemzők definiálása esetén melyik java.util-beli kollekcióinterfészt használhatjuk! Adjon meg mindegyikhez egy tipikus java.util-beli megvalósítást is! UML Java util interfész Java util megvalósítás ordered unique unique, ordered qualified qualified, ordered Oldal 6 / 23
7 Feladat Jelölje (karikázza be) az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! I H Statikus attribútumot csak statikus metódusból lehet elérni. I H Példánymetódust kivétel nélkül csak példánymetódusból hívhatunk. I H Egy osztály lehet akkor is absztrakt, ha nincs absztrakt metódusa. I H A java.lang.string osztálynak vannak a string értékét (tartalmát) megváltoztató metódusai. I H A primitív típusokhoz tartozó csomagoló osztályok (wrapper classes) nem változtathatók (immutable) Feladat Adja meg, hogy az alábbi állítások melyik szabványos Java kivételosztályra igazak! Ha többre is igaz, akkor az öröklési hierarchiában legmagasabban levő (ős)osztályt jelölje meg! A Throwable B Exception C InterruptedException D RuntimeException E NullPointerException F Error [ ] Minden kivételként eldobható osztály ősosztálya. [ ] JVM szintű rendszerhiba [ ] Elkapása nem kötelező, nehéz rá felkészülni, nehéz lekezelni. [ ] Programhiba [ ] Elkapása nem kötelező, "zajt" vinne a kódba. [ ] Az initcause metódusával be lehet állítani az okozó kivételt Feladat A Java.util.Stack<E> osztály metódusai közötti kohézió milyen típusú? Oldal 7 / 23
8 Feladat Mi a szerepe a JUnit-ban az alábbi - Egy JUnit teszt eredménye pass vagy fail vagy error lehet. A pass a tesztben foglalt állítás beteljesülését jelenti. Mi a jelentése a másik két eredménynek? fail error Feladat Java nyelven implementálja az alábbi osztály és szekvenciadiagramon megtervezett osztályokat és metódusokat! A Main osztály működése a main metódusban valósul meg, ami a futása elején létrehoz egy B és egy R objektumot (ez az ábrán helyhiány miatt nincs jelölve). Oldal 8 / 23
9 Feladat A dobozban adott egy Test osztály. Mit ír ki az alatta álló kódrészlet, ha az őt befoglaló kódról feltételezzük, hogy hibátlan? FileOutputStream os = new FileOutputStream("test.sr"); ObjectOutputStream oos = new ObjectOutputStream(os); Test t = new Test(); t.foo(1,2,3,4); oos.writeobject(t); t.foo(6,7,8,9); oos.writeobject(t); oos.close(); FileInputStream is = new FileInputStream("test.sr"); ObjectInputStream ois = new ObjectInputStream(is); Test t2 = (Test)ois.readObject(); Test t3 = (Test)ois.readObject(); t2.bar(); t3.bar(); class Test implements java.io.serializable { public int a; public static int b; public transient int c; private int d; void foo (int i1, int i2, int i3, int i4) { a= i1; b=i2; c=i3; d=i4; void bar() { System.out.println(a+""+b+""+c+""+d); Feladat JUnittal tesztelni akarjuk a nem kezelt kivételt. Írjon olyan tesztmetódust, amely akkor fut le sikeresen, ha nem kezelt ArithmeticException (pl. nullával osztáskor) kivételt dob? Oldal 9 / 23
10 Feladat Az alábbi Java kódrészlet alapján töltse ki a táblázatot. A rubrikákba azt kell beírni, hogy a két osztály közé milyen jelölést kellene rajzolni UML 2 osztálydiagram esetén. Minden rubrikába egy számot és egy betűt kell írni a kulcs alapján: a szám jelzi a vonal stílusát, a betű a fejlécben levő osztály oldalára kerülő végződést. class A { String name; public E e; class B extends E { public void foo(c c) { public D foo() { return new D(); class C { private Map<String, A> list; class D { public void bar(a a) { a.e.qux(); class E { public void qux() { Feladat Egy programban két Java szálunk van, t1 és t2. Mindkettő ugyanazt a Qux objektumot ismeri (q). A t1 meghívja a q.foo(), majd 1 mp múlva t2 a q.bar() metódusát. A metódusok lefutása után a szálak megállnak (végetérnek). Milyen sorrendben zajlanak le a számozott sorok, és az egyes sorok hatására milyen állapotba kerülnek a szálak? public class Qux { synchronized void foo() throws InteruptedException { //1 Thread.sleep(10000); // 10 mp-ig alszik //2 wait(); //3 //4 synchronized void bar() { //5 notifyall(); //6 //7 Esemény (sor) t1 t2 0 Runnable Runnable 1 Oldal 10 / 23
11 Feladat Adott az alábbi (hibás) Java kódrészlet. public class Valami extends Exception implements Serializable { private transient int foo; public boolean bar; protected static String baz; public Valami(String s) { baz = s; public class Main { public void serialize(string file, Set<Valami> sv) { try { FileOutputStream os = new FileOutputStream(file); ObjectOutputStream oos = new ObjectOutputStream(os); oos.writeobject(sv); os.close(); catch (Exception e) { e.printstacktrace(); Jellemezze az alábbi állításokat [ ] A Main osztály nem tud sorosítani, mert a Main osztály nem implementálja a Serializable interfészt. [ ] A serialize metódus sv paramétere nem sorosítható, mert interfész típusú változót nem lehet sorosítani. [ ] A Valami konstruktorában a baz attribútumnak egyenlőségjellel nem adható értékül az s paraméter, mert csak a következő forma lenne helyes: baz = new String(s) [ ] Egy Valami típusú objektum foo attribútuma nem kerül sorosításra, mert private láthatóságú attribútum nem sorosítható. [ ] A Main osztály serialize metódusa tartalmaz hibát, mert hiányzik belőle egy oos.close() hívás. [ ] A Valami osztály egy példánya nem sorosítható a writeobject metódussal, mert Valami az Exception leszármazottja. [ ] protected módosítóval ellátott attribútum nem sorosítható, ezért a Valami osztályban definiált baz attribútum nem kerül sorosításra. [ ] A FileOutputStream konstruktorhívása hibás, mert nem File típusú paramétert kap. Oldal 11 / 23
12 Feladat Legyen az alábbi A osztályunk. class A { protected int j; public int foo(int i) {return(j); Legyen egy B osztály, amely A-ból származik, és metódusai az alábbi táblázatban találhatóak. Jelölje meg az(oka)t a metódus(oka)t, amely(ek) megsérti(k) a Meyer-féle nyit-zár (openclose) elvet! public int foo1(int i) {return(j); public double foo(double d, int i) {return(d*j); public int foo(int i) {return(j*i); public int foo(double d) {return((int)(j*d)); public double foo2(int i) {return(3.0*i); Feladat Jelölje, hogy az oszlopokban szereplő Java nyelvi elemek milyen módosítókkal rendelkezhetnek. abstract final protected static synchronized transient volatile konstruktor statikus metódus példány metódus példány attribútum Feladat Készítsen Java metódust, amelyik két, X típust tartalmazó halmazt kap paraméterül, és visszaadja a két halmaz uniójának elemszámát. Az eredeti halmazok nem változhatnak meg, az elemekhez egyedileg nem szabad hozzáférni! Ahol lehet, használja a collection framework osztályait és interfészeit! Nem használhat default konstruktort! Törekedjen minél általánosabb megoldásra! Oldal 12 / 23
13 Feladat A Java kódrészletek alapján rajzoljon UML 2 osztálydiagramot! public interface X { void bar(); public class B { C c; public void set(c x) { c = x; c.xxx(); public C get() { c.hello().bar(); return c; public class D implements X { public void bar() { public class C { public void xxx() { public X hello() { xxx(); return new D(); public class A { static protected double qux(double d){ return 2*d; public void foo(b b) { C c = b.get(); c.xxx(); Oldal 13 / 23
14 Feladat Adott az alábbi (hibás) Java kódrészlet. public class ThreadSafe { private long x; private long y; private Object o = new Object(); public void setx(long v) { x = v; y = 1-x; public long getxy() { return x+y; public synchronized void sety(long w) { o.notify(); y = w; x = 1-y; public void finalize() { System.out.println( "destructor called"); public class MyThread implements Runnable { private boolean done = false; private ThreadSafe ts; public MyThread(ThreadSafe ts) { this.ts = ts; public void exit() { done = true; public void run() { long i = 0; while (!done) { ts.setx(i++); ts.finalize(); ts.getxy(); public class Main { public static void main(string[] args) { MyThread mt = new MyThread (new ThreadSafe()); mt.start(); [ ] Egy ThreadSafe objektum belső állapota mindig konzisztens marad a setx metódus több szálból egyszerre történő hívása során is, mert a metódus törzse nem tartalmaz feltételes elágazást. [ ] A ThreadSafe típusú objektumok használata esetén a getxy metódus nem mindig 1-gyel tér vissza, mert egyszerre több szál is be tud lépni a metódusba. [ ] Az o.notify()-t synchronized metódusból kell hívni, ezért az o.notify() hívás a sety metódusban nem dob IllegalMonitorStateException kivételt. [ ] A main metódusban az mt.start() hívás hibás, mert a szálat az mt.run() hívással kell elindítani. [ ] A MyThread szál megállítására használt done attribútum hiányosan van definiálva, mert a transient kulcsszóval jelezni kell, hogy az attribútum értékét más szál is módosíthatja. [ ] A MyThread.run metódusában a ts.finalize() hívás meghívja a garbage collectort és felszabadítja a ts objektumot, ezért az ezt követő ts.getxy() hívás NullPointerException kivételt fog dobni. [ ] A ThreadSafe típusú objektumok többszálú használata esetén az x + y == 1 invariáns mindig érvényes marad, mert egy MyThread szál csak egyetlen ThreadSafe objektumot használ. [ ] A MyThread konstruktorában a ts paraméter neve nem egyezhet meg a ts attribútum nevével, mert így a this.ts = ts utasításnak semmi hatása nincs. Oldal 14 / 23
15 Feladat Jelölje az alábbi, Java nyelvre vonatkozó állítások igazságtartalmát! I H konstruktornak nem lehet láthatósága I H private tag nem szerializálódik I H statikus tag nem szerializálódik I H lehet olyan private tag, aminek többször is lehet értéket adni I H privát metódust csak privát metódusból lehet hívni I H statikus metódusban használható a this változó I H final metódusban használható a this változó I H statikus metódus nem lehet private I H final metódus nem lehet statikus I H final metódus nem lehet abstract I H absztrakt osztálynak nem lehet final metódusa I H két interfész csak akkor valósítható meg egy osztályban, ha az interfészeknek nincsen közös metódusa Feladat Töltse ki a táblázatot a Java gyűjtemény-keretrendszer osztály és interfészneveivel, amelyre igazak a táblázat peremén található állítások! Egy dobozba egy interfész és egy (az interfészt megvalósító) osztály nevét írja be! Elemek rendezettek (ordered) Elemek nem rendezettek (non ordered) Elemek egyediek (unique) Elemek nem egyediek (non unique) Húzza alá azt a metódust, amelyik a fenti osztályok példányain meghívható! join, sleep, wait, interrupt, notify Oldal 15 / 23
16 Feladat Adott az alábbi Student generikus Java osztály, amelyet tárgy (C) típussal lehet paraméterezni. public class Student<C> implements Cloneable { private String name; // név private String neptun; // neptunkód private Set<C> courses; // felvett tárgyak public Student(String na, String ne) { name = na; neptun = ne; courses = new HashSet<C>(); public void setname(string s) { name = s; public void addcourse(c c) { courses.add(c); public void delcourse(c c) { courses.remove(c); Implementálja meg Javaban a fenti Student osztály következő metódusait! Nem használható ciklus és a paraméterek állapotát nem módosíthatja! public boolean equals(object o) { /*Két hallgató akkor egyezik, ha a nevük és a neptunkódjuk is azonos. Feltételezheti, hogy a metódus csak Student dinamikus típusú objektumot kap paraméterül.*/ public Object clone() { /*Visszatér egy olyan Student példánnyal, amelynek tartalma azonos az eredetivel, de a set, add és del kezdet_ metódusok hívásakor csak a hívott objektum tartalma változik (deep clone)*/ static <C> int numofsharedcourses(student<c> s1, Student<C> s2) { /*Visszatérési értéke a két hallgató közös tárgyainak darabszáma.*/ Feladat Mire használjuk a JUnit-ban annotációval megjelölt metódust? Mit történt, ha a JUnit teszt eredménye error? Oldal 16 / 23
17 Feladat A szabványos Java nyelvben az alábbiak közül mely hívások hatására hagyja el biztosan a szál a futó állapotát? yield() wait() notify() notifyall() sleep(1000) stop() egy másik élő szálra történő join() hívás Thread.killThread() Feladat Jelölje (karikázza be) az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! I H egy szál egyszerre csak egy objektum monitorában tartózkodhat. I H szálak nem képesek saját magukat közvetlenül waiting állapotból notify-jal felébreszteni. I H egy változó statikus típusa nem lehet a változó dinamikus típusának leszármazottja Feladat Rajzoljon UML 2 osztálydiagramot az alábbi Java kódrészlet alapján! class A { private static int x = 0; public int bar() { return ++x; protected A baz() { return new A(); class E extends Exception { private A a; public E(A a) { this.a = a; public A geta() { return a; interface B { void foo(a a) throws E; class C extends A implements B { boolean flag; public void foo(a a) throws E { flag =!flag; if(a.bar()>5&&flag) throw new E(baz()); protected A baz() { return new C(); Oldal 17 / 23
18 Feladat JUnittal tesztelni akarjuk a nem kezelt kivételt. Az alábbi lehetőségek közül mely tesztmetódusok futnak le sikeresen, ha a program nem kezelt ArithmeticException (pl. nullával osztáskor) kivételt dob? Jelölje X-szel a helyes public void test() {program, ami kivételt public void test()throws ArithmeticException {program, ami kivételt public void test() {program, ami kivételt dob JUnittal nem kezelt kivétel nem tesztelhető Feladat Jelölje (karikázza be) az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! I H final osztálynak nem lehet abstract metódusa. I H minden generikus osztály használható Object paraméterezéssel. I H generikus osztály paramétere nem lehet primitív típus. I H primitív típus tömbje is a primitív típusok közé számít. I H ha egy szál véget ért, akkor start() metódushívással újraindítható. I H egy szál csak akkor hajthat végre wait() metódushívást, ha a hívott objektum monitorában tartózkodik. I H ha egy szál notify() hívás hatására hagyja el a WAIT állapotot, akkor RUNNABLE állapotba kerül. I H String objektum tartalma bármikor megváltoztatható. I H egy osztály statikus metódusát csak statikus metódusból lehet meghívni. Oldal 18 / 23
19 Feladat Jelölje az alábbi, Java nyelvre vonatkozó állítások igazságtartalmát! I H catch blokkjában lehet újonnan létrehozott kivételt dobni. I H statikus metódus nem dobhat kivételt. I H abstract osztálynak lehet final metódusa. I H final metódus módosíthatja az objektum állapotát. I H egy szál csak akkor hajthat végre notify() metódushívást, ha a hívott objektum monitorában tartózkodik. I H generikus osztály példányosításakor lehet másik generikus osztály a paraméter. I H csak primitív típusokon értelmezett a "természetes rendezés" (natural ordering) Feladat Tekintsük a következő Java kódot! Jelölje be a táblázatban, hogy a fejlécben szereplő változók által mutatott objektumok a program mely pontján válhatnak először a garbage collector áldozatává! class X { private String f = "fff"; public String g = "ggg"; public void gee() { System.out.println(f+g); public class Program { public static void main(string[] args) { X x1 = new X(); X x2 = new X(); x1.finalize(); /*A*/ this.g = null; x2.gee(); /*B*/ x2 = null; public void finalize() { this.f = null; /*D*/ Oldal 19 / 23
20 Feladat Jelölje az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! I H minden primitív típusnak van csomagoló (wrapper) osztálya. I H primitív típus is lehet generikus osztály template-paramétere. I H ha egy szál véget ért, nem lehet újraindítani. I H szálat a run() metódus meghívásával indíthatunk. I H szerializálás körkörös hivatkozású adatszerkezeten (pl. gy_r_) kivételt dob. I H minden objektumnak van wait() metódusa. I H nincs olyan várakozó szál, amelyik egyb_l RUNNABLE állapotú lesz a notifyall() hatására. I H szálakon a join() metódust csak az indításuk sorrendjében szabad meghívni Feladat Jelölje az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! I H Lehet olyan objektumot létrehozni, amely nem dobható kivételként. I H Ha a standard inputról ciklusban olvasunk be sorokat, akkor a BufferedReader(new InputStreamReader(System.in)) objektum létrehozását a cikluson kívül kell elhelyezni, nem pedig a cikluson belül. I H A standard Java.lang csomagban vannak olyan osztályok, amelyek példányai nem szerializálhatók. I H A primitív típusokhoz tartozó csomagoló osztályok (wrapper classes) nem változtathatók (immutable) I H Egy szálat csak a szál start() függvényével szabad elindítani, és csak a stop() függvényével szabad leállítani. I H A wait() függvény csak olyan objektumon hívható, amelyre rászinkronizáltunk. I H Egy változó statikus típusa nem lehet a változó dinamikus típusának leszármazottja I H A String osztályhoz úgy adhatunk saját függvényeket, hogy egy leszármazottat készítünk belőle. I H Egy szál egyszerre csak egy objektum monitorában tartózkodhat. Oldal 20 / 23
21 Feladat Jelölje az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! I H abstract osztálynak lehet final metódusa. I H primitív típus lehet generikus osztály template-paramétere. I H generikus osztály példányosításakor nem lehet másik generikus osztály a paraméter. I H ha egy szál véget ért, nem lehet újraindítani. I H primitív típus tömbje is a primitív típusok közé számít. I H szerializálás körkörös hivatkozású adatszerkezeten (pl. gyűrű) kivételt dob. I H minden objektumnak van wait() metódusa. I H nincs olyan várakozó szál, amelyik egyből RUNNABLE állapotú lesz a notifyall() hatására Feladat Jellemezze az alábbi Java nyelvre vonatkozó állításokat a kulcs felhasználásával! (6 pont) [ ] A String osztályból nem lehet leszármazottat készíteni, mert a String osztály immutábilis. [ ] A finalize() metódust csak egyszer szabad meghívni, mert a hívás hatására a garbage collector felszabadítja az objektumot. [ ] Egy objektum nem szinkronizálhat saját magára, mert az holtponthoz vezetne. [ ] Egy szál futását nem lehet a saját wait() metódusával felfüggeszteni, mert egy szál futásának felfüggesztéséhez a sleep() függvényt kell használni. [ ] A RuntimeException-ből származó kivételeket kötelező elkapni, mert a RuntimeException az Exception leszármazottja. [ ] Egy interfész nem tartalmazhat privát láthatóságú metódusokat, mert egy interfész minden függvénye absztrakt és publikus. Oldal 21 / 23
22 Feladat Jelölje (karikázza be) az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! (8 pont) I H a primitív típusokhoz tartozó csomagoló osztályok (wrapper classes) nem változtathatók (immutable). I H egy szál egyszerre csak egy objektum monitorában tartózkodhat. I H synchronized blokkok nem ágyazhatók egymásba. I H szálak nem képesek saját magukat közvetlenül waiting állapotból notify-jal felébreszteni. I H előfordulhat, hogy két szál (T1 és T2) ugyanazon objektum ugyanazon synchronized metódusát futtatva T1 T2 sorrendben lép be, de T2 T1 sorrendben lép ki. I H egy változó statikus típusa nem lehet a változó dinamikus típusának leszármazottja. I H egy osztály lehet akkor is absztrakt, ha nincs absztrakt metódusa. I H két interfész csak akkor valósítható meg egy osztályban, ha az interfészeknek nincsen közös metódusa Feladat Jelölje (karikázza be) az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! (8 pont) I H exceptionnek nem lehet private metódusa. I H ha egy x objektum package láthatóságú metódusait meghívhatja egy másik osztályú y objektum, akkor y meghívhatja x protected metódusait is. I H RuntimeExceptiont csak a virtuális gép beépített osztályai dobhatnak. I H ha egy FileReadert egy BufferedReaderbe csomagolunk, akkor a BufferedReader bezárása után (close metódus meghívása) a FileReadert is be kell zárnunk. I H a finally blokkot a garbage collector hajtja végre. I H wait metódust csak azon az objektumon lehet hívni, aminek a hívást végrehajtó szál a monitorában tartózkodik. I H finally blokkból szabad kivételt dobni I H ha van két szálunk, akkor a join metódusaikat csak az elindításuk sorrendjében szabad meghívni. Oldal 22 / 23
23 Feladat Adja meg, hogy az alábbi UML2 kollekció-jellemzők definiálása esetén melyik java.util-beli kollekcióinterfészt használhatjuk! Adjon meg mindegyikhez egy tipikus java.util-beli megvalósítást is! UML Java util interfész Java util megvalósítás qualified qualified, ordered unique ordered unique, ordered Feladat Jelölje az állítások igazságtartalmát, ha feltesszük, hogy szabványos Java nyelvet használunk! (8 pont) Igen Nem catch blokkból szabad exception-t dobni InputStreamReader konstruktora kaphatja paraméterül a System.in-t JFrame layoutmanager-e csak a BorderLayout lehet ha egy s String objektumon meghívjuk a touppercase() metódust, akkor módosul az s objektum tartalma final módosítójú osztálynak nem lehet abstract metódusa final metódus nem módosíthatja az attribútumok értékét synchronized módosítójú metódusban nem lehet wait() metódust hívni foreach ciklusban (pl. for (A a : x){...) nem szabad az iterált kollekcióhoz (a példában x) új elemet hozzáadni. asd asd Oldal 23 / 23
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
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
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 1 Kivételkezelés I. szokatlan, váratlan
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:
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
Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread
Végrehajtási szálak Runnable, Thread Végrehajtási szálak Java-ban A Java program az operációs rendszer egy folyamatán (process) belül fut. A folyamat adat és kód szegmensekből áll, amelyek egy virtuális
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
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,
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
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
é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
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
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
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?
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 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
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á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
Programozási technológia
Programozási technológia Osztályszintű elérés Kivételkezelés, Fájlkezelés Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Osztályszintű elérés (statikusság) Az osztályban definiált attribútumok és műveletek
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
Programozási nyelvek és módszerek Java Thread-ek
Programozási nyelvek és módszerek Java Thread-ek Laki Sándor lakis@inf.elte.hu 2006. május 3. 0-0 Szálak (Threads) Ahhoz, hogy egy mai rendszer m ködhessen több 10-100 folyamatnak kell futnia. A folyamatok
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
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,
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
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.
Java IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
Java IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
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ő
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
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
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
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
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
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Á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á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:
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
Globális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
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,
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ő
Concurrency in Swing
Concurrency in Swing A szálkezelés a swing alkalmazásokban is fontos. Cél egy olyan felhasználói felület készítése, amely soha nem fagy, mindig válaszol a felhasználói interakciókra, bármit is csináljon
Se S r e ial a iza z t a ion o n (in n Ja J v a a v ) a Szerializáció
Serialization (in Java) Szerializáció Java Serialization API Standard eljárás az objektumok állapotának adatfolyamba történő kiírására (elmentésére egy bájtszekvenciába), és visszatöltésére Perzisztencia
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
Interfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
Java gyakorlat feladatai e s megolda sai (2014.04.10)
Java gyakorlat feladatai e s megolda sai (2014.04.10) 1. Feladat Számítsuk ki a Fibonacci sorozat első 20 tagját! / Fibonacci számsorozat tagjait kiszámoló, egyetlen osztályból álló program @author Bence
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
OOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
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
Bevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 7. Gyakorlat osztályok, objektumok (utolsó módosítás 2018. aug. 28.) Szathmáry László Debreceni Egyetem Informatikai Kar 2018-2019, 1. félév OO programozás Pythonban
Már megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
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
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ő
Végrehajtási szálak - kiegészítések. Szinkronizálás, érvénytelenített metódusok helyettesítése
Végrehajtási szálak - kiegészítések Szinkronizálás, érvénytelenített metódusok helyettesítése Szinkronizálás Szinkronizálás szükségessége, példa: egy végrehajtási szál kiolvas egy adatstruktúrából egy
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
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
S ha kettészelik is: balfelöl belőle Valamivel mindig - Valamivel mindiq több marad. (Nyugat )
S ha kettészelik is: balfelöl belőle Valamivel mindig - Valamivel mindiq több marad. (Nyugat 1919. 1049-1050. 1.) A hetvenéves Eötvös Loránd köszöntésekor Alexander Bernád filozófus így jellemezte:...
Java és web programozás
Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)
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
ELTE SAP Excellence Center Oktatóanyag 1
Oktatóanyag 1 Oktatóanyag 2 Az oktatás folyamán használt példák a fent látható egyszerű modell implementációi. Oktatóanyag 3 A definíciós részben definiálja a fejlesztő az egyes attribútumokat, metódusokat,
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
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
Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.
Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl
Java és web programozás
Budapesti Műszaki Egyetem 2015. 04. 08. 9. Előadás Kivétel kezelés a kivétel (exception) egy esemény, mely futás közben megbontja a program normális futási folyamatát például kivétel dobódik amikor 0-val
Java III. I I. Osztálydefiníció (Bevezetés)
Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban
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 III. I I. Osztálydefiníció (Bevezetés)
Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban
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
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
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
Java programozási nyelv 9. rész Kivételkezelés
Java programozási nyelv 9. rész Kivételkezelés 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/24 Tartalomjegyzék
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
Objektumorientált programozás Java-ban
Objektumorientált programozás Java-ban Objektumorientált fejlesztés Klasszikus alapszakaszok: Elemzés (analízis) specifikáció, használati esetek (use case diagramok), domain analysis Tervezés (design)
Programozás II. 2. gyakorlat Áttérés C-ről C++-ra
Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,
Java és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
Öröklés és Polimorfizmus
Öröklés és Polimorfizmus Egy létező osztályból egy (vagy több) újat készítünk A létező osztályt ősnek, az újakat utódnak nevezzük Az utódok öröklik az ős minden tagját Az utódok az öröklött tagokat újakkal
Osztályok, objektumok
2. óra Osztályok, objektumok Osztályok felépítése Mezők, metódusok, módosítók JavaBeans Példányosítás Öröklés legradi.gabor@nik.bmf.hu szenasi.sandor@nik.bmf.hu Osztályok, objektumok Témakörök Osztályok
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
Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.
Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat
STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1
STL gyakorlat C++ Izsó Tamás 2016. május 9. Izsó Tamás STL gyakorlat/ 1 Komponensek kapcsolata Deklarálja az alábbi osztálydiagramon szereplő osztályok közül az A, AA és AB osztályokat! A konstruktorokat
ZH mintapélda. Feladat. Felület
ZH mintapélda Feladat Írjon Java alkalmazást, amely képes hallgatók rekordjaittárolni és azokat különbözo rendezo kulcsok szerint sorba rendezni. A program grafikus felhasználói felületén keresztül új
Programozás I. Második ZH segédlet
Programozás I. Második ZH segédlet Ezen az oldalon: interfész létrehozás, megvalósítás; absztrakt osztály, metódus; belső osztály Interfész létrehozása: public interface InterfeszNeve { //Metódusok deklarációja
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
Sikeres végrehajtás(pass): ez azt jelenti, hogy a teszt rendben lefutott, és az ellenőrzési feltételek mind teljesültek.
1 1. fejezet A JUnit tesztelési környezet A JUnit egy szabad forráskódú modultesztelő rendszer, amely Java programjaink automatikus teszteléséhez nyújt segítséget. A rendszer letölthető a http://junit.org
Web-technológia PHP-vel
Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request
Fejezetek az "Effective Java" c. könyvből
Budapesti Műszaki és Gazdaságtudományi Egyetem Java technológia A könyv Joshua Bloch, Effective Java, Programming Language Guide, Sun Microsystems Inc., 2001. A könyvben 57 fejezet ("item") található,
UML Feladatok. UML Feladatok
UML Feladatok 2008.01.08 4. Feladat Az alábbi ábrán három UML2 modell elemet megjelöltünk. Adja meg elemenként, hogy az melyik UML2 meta-modell elem példánya! 2008.01.15 4. Feladat Jelölje meg, hogy a
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
Kivételek. A program végrehajtása során ritkán bekövetkező események Nem a fő végrehajtási ág ; logikailag alacsonyabbrendű feladat jelzése
Kivételek A program végrehajtása során ritkán bekövetkező események Nem a fő végrehajtási ág ; logikailag alacsonyabbrendű feladat jelzése Hiba Felhasználó butaságot csinál Speciális/abnormális számítási
Objektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát
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
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
Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus
Eötvös Loránd Tudományegyetem Természettudományi Kar Alkalmazott Modul III 6. előadás Objektumorientált programozás: öröklődés és polimorfizmus 2011.10.24. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Java és web programozás
Budapesti M szaki Egyetem 2013. szeptember 18. 2. El adás Komplex szám public class Complex { private float repart_; private float impart_; public Complex() { repart_ = 0; impart_ = 0; public Complex(float
Programozási technológia 2.
Programozási technológia 2. Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Párhuzamosság A számítógépek egy időben több feladatot is el tudnak látni Gyakran még egyszerű alkalmazásoktól is elvárt, hogy
Bevezetés a Java programozási nyelvbe
Bevezetés a Java programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a Java programozási nyelvbe JAVABEV / 1 Egy kis történelem 1. 1990-es évek eleje: a SUN belső project-je
503.AA Megoldo Arisztid 503.A
Programozás alapjai 2. (inf.) 2. ZH 2017.04.27. gy./l. hiány: / ABCD123 Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de csak a feladatlapra írt megoldásokat értékeljük!
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)