Informatika4-2017/Gyakorlat8
(Új oldal, tartalma: „== Elõadások == Nézzük át elõször ezeket az elõadásokat: * [http://math.bme.hu/~kkovacs/webprog2015/WebprogEA3.pdf A memóriaképrõl] * [http://math.bme.hu/…”) |
|||
(egy szerkesztő 2 közbeeső változata nincs mutatva) | |||
10. sor: | 10. sor: | ||
=== Síkidomok === | === Síkidomok === | ||
− | Készíts egy Mesurable interface-t, | + | Készíts egy Mesurable interface-t, aminek az egyetlen metódusa a '''weight''', ami '''double'''-ben az alakzat területét adja vissza. |
− | Készítsd el a Teglalap, Kor, Haromszog osztályokat, úgy hogy mindegyk impementálja ezt az interface-t. Majd írj egy hasonló tesztet rá, mint amilyen | + | Készítsd el a Teglalap, Kor, Haromszog osztályokat, úgy hogy mindegyk impementálja ezt az interface-t. Majd írj egy hasonló tesztet rá, mint amilyen a diákon is volt. |
=== Repülõgépek === | === Repülõgépek === | ||
25. sor: | 25. sor: | ||
* Írjátok át a felhasználórendszert, hogy tömbök helyett '''ArrayList'''eket használjon. | * Írjátok át a felhasználórendszert, hogy tömbök helyett '''ArrayList'''eket használjon. | ||
− | * Írjátok | + | * Írjátok egy '''PersonalInfo''' osztály, ami Stringhez Stringet rendelõ '''HashMap'''ben tárolja a User-ek adatait. |
<java> | <java> | ||
HashMap<String, String> hm = new HashMap<String, String>(); | HashMap<String, String> hm = new HashMap<String, String>(); | ||
</java> | </java> | ||
+ | * Minden User-nek legyen egy ilyen '''PersonalInfo'''-ja. | ||
* Legyen egy statikus '''HashSet''' adattagja a '''PersonalInfo''' osztálynak, amiben tárolva vannak a lehetséges tulajdonságok (a '''HashMap''' lehetséges kulcsai). | * Legyen egy statikus '''HashSet''' adattagja a '''PersonalInfo''' osztálynak, amiben tárolva vannak a lehetséges tulajdonságok (a '''HashMap''' lehetséges kulcsai). | ||
* Úgy mûködjön az utóbb említett '''HashSet''', hogy amikor új tulajdonságot adunk hozzá egy emberhez, akkor automatikusan rakja bele a '''HashSet'''be a tulajdonságot, ha még nem tartalmazta eddig. | * Úgy mûködjön az utóbb említett '''HashSet''', hogy amikor új tulajdonságot adunk hozzá egy emberhez, akkor automatikusan rakja bele a '''HashSet'''be a tulajdonságot, ha még nem tartalmazta eddig. | ||
− | * Ez azt is jelenti, hogy | + | * Ez azt is jelenti, hogy a tulajdonság hozzáadása a '''PersonalInfo'''hoz (és ezáltal egy '''User'''hez) egy metódussal mûködjön amiben csak a kulcs és értéket kell megadni. |
A lap jelenlegi, 2017. október 30., 13:08-kori változata
Tartalomjegyzék |
Elõadások
Nézzük át elõször ezeket az elõadásokat:
Interface gyakorló feladatok
Síkidomok
Készíts egy Mesurable interface-t, aminek az egyetlen metódusa a weight, ami double-ben az alakzat területét adja vissza.
Készítsd el a Teglalap, Kor, Haromszog osztályokat, úgy hogy mindegyk impementálja ezt az interface-t. Majd írj egy hasonló tesztet rá, mint amilyen a diákon is volt.
Repülõgépek
Két interface: Passanger, Freighter, az elsõ az utasszállító, ami azt tudja, hogy visszaadja az utasok számát, a második a csomagszállító, ami visszaadja a csomagok súlyát.
Legyen 3 féle repülõgép, egy-egy amelyik csak Passanger vagy Freighter-t implementál, a 3. pedig mindkettõt.
Írjátok meg értelmesen ezeket az osztályokat (utasszállítóban adattag az utasok száma, csomagszállítóban a csomagok súlya pl). Majd teszteljétek a korábbi módon.
Hasznos feladat
- Írjátok át a felhasználórendszert, hogy tömbök helyett ArrayListeket használjon.
- Írjátok egy PersonalInfo osztály, ami Stringhez Stringet rendelõ HashMapben tárolja a User-ek adatait.
HashMap<String, String> hm = new HashMap<String, String>();
- Minden User-nek legyen egy ilyen PersonalInfo-ja.
- Legyen egy statikus HashSet adattagja a PersonalInfo osztálynak, amiben tárolva vannak a lehetséges tulajdonságok (a HashMap lehetséges kulcsai).
- Úgy mûködjön az utóbb említett HashSet, hogy amikor új tulajdonságot adunk hozzá egy emberhez, akkor automatikusan rakja bele a HashSetbe a tulajdonságot, ha még nem tartalmazta eddig.
- Ez azt is jelenti, hogy a tulajdonság hozzáadása a PersonalInfohoz (és ezáltal egy Userhez) egy metódussal mûködjön amiben csak a kulcs és értéket kell megadni.