„Objektumorientált szoftvertervezés - KisZH-k, 2009.” változatai közötti eltérés

A VIK Wikiből
Új oldal, tartalma: „{{GlobalTemplate|Infoszak|OotKisZH2009}} ==1. KisZH (2009. 03. 04 - Java)== ===A csoport=== # Milyen template paramétert adjunk meg az osztálynak/függvénynek a ki…”
 
Harapeti (vitalap | szerkesztései)
a fv. -> metódus, code tag
 
(3 közbenső módosítás, amit 3 másik szerkesztő végzett, nincs mutatva)
1. sor: 1. sor:
{{GlobalTemplate|Infoszak|OotKisZH2009}}
=1. KisZH (Java)=
 
==A csoport==
 
==1. KisZH (2009. 03. 04 - Java)==
===A csoport===
# Milyen template paramétert adjunk meg az osztálynak/függvénynek a kipontozott helyekre, hogy a lehető legáltalánosabb megoldást kapjuk?
# Milyen template paramétert adjunk meg az osztálynak/függvénynek a kipontozott helyekre, hogy a lehető legáltalánosabb megoldást kapjuk?


42. sor: 39. sor:
''Ehhez a feladathoz magyarázat az 1. diasor 2. oldalán (18-as dia)''
''Ehhez a feladathoz magyarázat az 1. diasor 2. oldalán (18-as dia)''


===B csoport===
==B csoport==


* 1. Ugyanez volt a feladat, minimálisan különböző függvényekkel. Persze ez pont elég volt, hogy más template paramétert várjanak! :)
* 1. Ugyanez volt a feladat, minimálisan különböző függvényekkel. Persze ez pont elég volt, hogy más template paramétert várjanak! :)
* 2. Hasonló volt a feladat, de f1-ek publikusak voltak. (Így működött a virtuális függvények felülírása a leszármazottban.)
* 2. Hasonló volt a feladat, de f1-ek publikusak voltak. (Így működött a virtuális függvények felülírása a leszármazottban.)


==2. KisZH==
=2. KisZH (Perzisztencia)=
===A csoport===
==A csoport==
# Melyik interface deklarálja a out.writeObject(_SerializableClass) fv-t? '''ObjectOutput'''
# Melyik interface deklarálja a <code>out.writeObject(_SerializableClass)</code> metódust?
# Mire jó a Hibernate-ben a &lt;discriminator&gt;? '''table-per-class-hierarchy esetén meghatározza a gyerekosztály (subclass) típusát'''
#: '''ObjectOutput'''
# Mire jó a Hibernate-ben a &lt;discriminator&gt;?
#: '''table-per-class-hierarchy esetén meghatározza a gyerekosztály (subclass) típusát'''
# Milyen állapotai vannak Hibernate-ben a Session-höz képest a perzisztens objektumoknak?(4db)
# Milyen állapotai vannak Hibernate-ben a Session-höz képest a perzisztens objektumoknak?(4db)
  * '''Tranziens''' (Transient): objektumot kódból hoztuk létre, adatbázisban nem szerepel
#:* '''Tranziens''' (Transient): objektumot kódból hoztuk létre, adatbázisban nem szerepel
  * '''Perzisztens''' (Persistent): az objektum szinkronizálva van az adatbázis táblákkal (unit of work commitnál íródik ki ténylegesen)
#:* '''Perzisztens''' (Persistent): az objektum szinkronizálva van az adatbázis táblákkal (unit of work commitnál íródik ki ténylegesen)
  * '''Lekapcsolt''' (Detached): perzisztens volt, de az adatbázissal azóta megszűnt a kapcsolat, így jelenleg nincs szinkronban. Új Sessionhöz később hozzá lehet kapcsolni.
#:* '''Lekapcsolt''' (Detached): perzisztens volt, de az adatbázissal azóta megszűnt a kapcsolat, így jelenleg nincs szinkronban. Új Sessionhöz később hozzá lehet kapcsolni.
  * http://docs.jboss.org/hibernate/core/3.3/reference/en/html/objectstate.html#objectstate-overview
#: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/objectstate.html#objectstate-overview
# Igazakat kellett bejelölni: OO adatbázisban:
# Igazakat kellett bejelölni: OO adatbázisban:
* Nem lehetnek párhuzamos Session-ök egy adatb-hez - '''HAMIS'''
#:* Nem lehetnek párhuzamos Session-ök egy adatb-hez - '''HAMIS'''
* Nem lehetnek más JVMből indított Session-ök egy adatb-hez - '''HAMIS'''
#:* Nem lehetnek más JVMből indított Session-ök egy adatb-hez - '''HAMIS'''
* Lehet több, azonos JVMből indított Session egy adatb-hez - '''IGAZ'''
#:* Lehet több, azonos JVMből indított Session egy adatb-hez - '''IGAZ'''
# Volt egy osztály egy statikus int-el(minsalary), valamint egy getSalary() fv-vel. Meg volt adva egy query, amiben a feltétel: getSalary()>minsalary (OO adatb).Igazakat kellett jelölni:
# Volt egy osztály egy statikus int-tel (<code>minsalary</code>), valamint egy <code>getSalary()</code> metódussal. Meg volt adva egy query, amiben a feltétel: <code>getSalary()>minsalary</code> (OO adatb). Igazakat kellett jelölni:
* Hibás, mert csak tagváltozók szerepelhetnek a query-ben
#:* Hibás, mert csak tagváltozók szerepelhetnek a query-ben
* Hibás, mert statikus változók nem szerepelhetnek a query-ben
#:* Hibás, mert statikus változók nem szerepelhetnek a query-ben
* Hibás, mert kollekció kellene, és nem osztály (?)
#:* Hibás, mert kollekció kellene, és nem osztály (?)
* '''Korrekt'''
#:* '''Korrekt'''
===B csoport===
 
==B csoport==


==3. KisZH (2009. 04. 02, hálózatkezelés, RMI)==
=3. KisZH (Hálózatkezelés, RMI)=


===A csoport===
==A csoport==


* 1. Mik a (natív) TCP/IP alapú hálózatkezelés jellemzői? (2 pont)
* 1. Mik a (natív) TCP/IP alapú hálózatkezelés jellemzői? (2 pont)
79. sor: 79. sor:
* 3. Mik az mobil ügynök megérkezésével kapcsolatos problémák? (2 pont)
* 3. Mik az mobil ügynök megérkezésével kapcsolatos problémák? (2 pont)


===B csoport===
==B csoport==


* 1. Mik a hálózati keretrendszer alapú hálózatkezelés jellemzői? (2 pont)
* 1. Mik a hálózati keretrendszer alapú hálózatkezelés jellemzői? (2 pont)
101. sor: 101. sor:
* 3. Mik a mobil ügynökkel kapcsolatos biztonsági problémák? (2 pont)
* 3. Mik a mobil ügynökkel kapcsolatos biztonsági problémák? (2 pont)


==4. KisZH==
=4. KisZH (Java ablakkezelés, Swing)=


===A csoport===
==A csoport==


* 1. Mik a konténerek felelősségei? (2 pont)
* 1. Mik a konténerek felelősségei? (2 pont)
112. sor: 112. sor:
* Mi a GridBagConstraint osztály felelőssége? (2 pont)
* Mi a GridBagConstraint osztály felelőssége? (2 pont)
===B csoport===
==B csoport==


* 1. Milyen tervezési mintát valósítanak meg az alábbi osztályok (2 pont)
* 1. Milyen tervezési mintát valósítanak meg az alábbi osztályok (2 pont)
125. sor: 125. sor:




==5. KisZH==
=5. KisZH=
===A csoport===
hasonló a 2008-as kisZH-hoz
===B csoport===


-- [[PallosTamas|Velias]] - 2009.03.17.
-- [[PallosTamas|Velias]] - 2009.03.17.

A lap jelenlegi, 2014. március 24., 01:02-kori változata

1. KisZH (Java)

A csoport

  1. Milyen template paramétert adjunk meg az osztálynak/függvénynek a kipontozott helyekre, hogy a lehető legáltalánosabb megoldást kapjuk?

Ilyen jellegűek voltak, 4 helyre kellett behelyettesíteni:

public E popTo(Fifo[...] f1, Fifo[...] f2){
  E last = null;
  while (!f1.isEmpty()){
	 last = f1.pop();
	 f2.push(last);
  }
  return last;
}

Ajánlatos az 1. diasor 10-11. oldalán lévő kódokat nézegetni, ott meg is találjátok a megoldásokat!

  1. Mit ír ki?
public class A {
  private void f1(){System.out.println("A.f1");}
  public void f2() {System.out.println("A.f2");}
  public void f3() { f1(); }
  public void f4() { f2(); }
}

public class B extends A {
  private void f1() {System.out.println("B.f1");}
  public void f2() {System.out.println("B.f2");}
  public static void main(String[] args) {
	 A a2 = new B();
	 a2.f3(); // A.f1
	 a2.f4(); // B.f2
  }
}

Ehhez a feladathoz magyarázat az 1. diasor 2. oldalán (18-as dia)

B csoport

  • 1. Ugyanez volt a feladat, minimálisan különböző függvényekkel. Persze ez pont elég volt, hogy más template paramétert várjanak! :)
  • 2. Hasonló volt a feladat, de f1-ek publikusak voltak. (Így működött a virtuális függvények felülírása a leszármazottban.)

2. KisZH (Perzisztencia)

A csoport

  1. Melyik interface deklarálja a out.writeObject(_SerializableClass) metódust?
    ObjectOutput
  2. Mire jó a Hibernate-ben a <discriminator>?
    table-per-class-hierarchy esetén meghatározza a gyerekosztály (subclass) típusát
  3. Milyen állapotai vannak Hibernate-ben a Session-höz képest a perzisztens objektumoknak?(4db)
    • Tranziens (Transient): objektumot kódból hoztuk létre, adatbázisban nem szerepel
    • Perzisztens (Persistent): az objektum szinkronizálva van az adatbázis táblákkal (unit of work commitnál íródik ki ténylegesen)
    • Lekapcsolt (Detached): perzisztens volt, de az adatbázissal azóta megszűnt a kapcsolat, így jelenleg nincs szinkronban. Új Sessionhöz később hozzá lehet kapcsolni.
    http://docs.jboss.org/hibernate/core/3.3/reference/en/html/objectstate.html#objectstate-overview
  4. Igazakat kellett bejelölni: OO adatbázisban:
    • Nem lehetnek párhuzamos Session-ök egy adatb-hez - HAMIS
    • Nem lehetnek más JVMből indított Session-ök egy adatb-hez - HAMIS
    • Lehet több, azonos JVMből indított Session egy adatb-hez - IGAZ
  5. Volt egy osztály egy statikus int-tel (minsalary), valamint egy getSalary() metódussal. Meg volt adva egy query, amiben a feltétel: getSalary()>minsalary (OO adatb). Igazakat kellett jelölni:
    • Hibás, mert csak tagváltozók szerepelhetnek a query-ben
    • Hibás, mert statikus változók nem szerepelhetnek a query-ben
    • Hibás, mert kollekció kellene, és nem osztály (?)
    • Korrekt

B csoport

3. KisZH (Hálózatkezelés, RMI)

A csoport

  • 1. Mik a (natív) TCP/IP alapú hálózatkezelés jellemzői? (2 pont)

(9 hely volt kihagyva)

  • 2. (Hasonló az B csoporthoz)
  • 3. Mik az mobil ügynök megérkezésével kapcsolatos problémák? (2 pont)

B csoport

  • 1. Mik a hálózati keretrendszer alapú hálózatkezelés jellemzői? (2 pont)

(9 hely volt kihagyva)

  • 2. Mi a hiba az adott kódban? Szintaktikai hiba nincs. (2 pont)

A feladat arra akart volna rámmeni, hogy minden függvény dob-e RemoteException-t és hogy a bemenő és kimenő paraméterek szerializálhatóak-e.

public class W extends Runnable {...} // adott 
public class T extends Serializable {...} // adott

void foo(...) throws IOException
void bar(...) throws RemoteException
double baz(...) throws Exception
T goo(...) throws NumberFormatException
  • 3. Mik a mobil ügynökkel kapcsolatos biztonsági problémák? (2 pont)

4. KisZH (Java ablakkezelés, Swing)

A csoport

  • 1. Mik a konténerek felelősségei? (2 pont)
  • 2. A1 ablak K1 komponenséből átkattintunk az A2 ablak K2 komponensére. Milyen sorrendben következnek be a következő események? (2 pont)
    • K1: LOST_FOCUS
    • A1: WINDOW_LOST_FOCUS
    • A1: WINDOW_DEACTIVATED
  • Mi a GridBagConstraint osztály felelőssége? (2 pont)

B csoport

  • 1. Milyen tervezési mintát valósítanak meg az alábbi osztályok (2 pont)
    • BorderLayout
    • ActionAdapter
    • JScrollPane
  • 2. A1 ablak K1 komponenséből átkattintunk az A2 ablak K2 komponensére. Milyen sorrendben következnek be a következő események? (2 pont)
    • K2: FOCUS_GAINED
    • A2: WINDOW_GAINED_FOCUS
    • A2: WINDOW_ACTIVATED
  • 3. Ha AWT-s alkalmazásunkat Swingesre szeretnénk átírni, miért nem lehet a java.awt.List osztályt egyszerű névcserével lecserélni javax.swing.JList-re? (2 pont)


5. KisZH

hasonló a 2008-as kisZH-hoz

-- Velias - 2009.03.17.