Objektumorientált szoftvertervezés - KisZH-k, 2009.

A VIK Wikiből
A lap korábbi változatát látod, amilyen (vitalap) 2012. október 21., 20:43-kor történt szerkesztése után volt. (Ú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…”)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)
Ugrás a navigációhoz Ugrás a kereséshez

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor kérlek javíts rajta egy rövid szerkesztéssel.

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót


1. KisZH (2009. 03. 04 - 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

A csoport

  1. Melyik interface deklarálja a out.writeObject(_SerializableClass) fv-t? 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

  1. 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
  1. 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:
  • 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 (2009. 04. 02, 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

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

A csoport

B csoport

-- Velias - 2009.03.17.