http://wiki.math.bme.hu/history/Informatika4-2017/Gyakorlat8?feed=atom&Informatika4-2017/Gyakorlat8 - Laptörténet2024-03-28T22:47:13ZAz oldal laptörténete a wikibenMediaWiki 1.18.1http://wiki.math.bme.hu/index.php?title=Informatika4-2017/Gyakorlat8&diff=13104&oldid=prevKkovacs, 2017. október 30., 11:08-n2017-10-30T11:08:31Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Régebbi változat</td>
<td colspan='2' style="background-color: white; color:black;">A lap 2017. október 30., 11:08-kori változata</td>
</tr><tr><td colspan="2" class="diff-lineno">12. sor:</td>
<td colspan="2" class="diff-lineno">12. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Készíts egy Mesurable interface-t, aminek az egyetlen metódusa a '''weight''', ami '''double'''-ben az alakzat területét adja vissza.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Készíts egy Mesurable interface-t, aminek az egyetlen metódusa a '''weight''', ami '''double'''-ben az alakzat területét adja vissza.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>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 <del class="diffchange diffchange-inline">elõadáson </del>is volt.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>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 <ins class="diffchange diffchange-inline">a diákon </ins>is volt.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Repülõgépek ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Repülõgépek ===</div></td></tr>
</table>Kkovacshttp://wiki.math.bme.hu/index.php?title=Informatika4-2017/Gyakorlat8&diff=13103&oldid=prevKkovacs, 2017. október 30., 11:07-n2017-10-30T11:07:46Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Régebbi változat</td>
<td colspan='2' style="background-color: white; color:black;">A lap 2017. október 30., 11:07-kori változata</td>
</tr><tr><td colspan="2" class="diff-lineno">10. sor:</td>
<td colspan="2" class="diff-lineno">10. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Síkidomok ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Síkidomok ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>Készíts egy Mesurable interface-t, <del class="diffchange diffchange-inline">amink </del>az egyetlen metódusa a '''weight''', ami '''double'''-ben az alakzat területét adja vissza.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>Készíts egy Mesurable interface-t, <ins class="diffchange diffchange-inline">aminek </ins>az egyetlen metódusa a '''weight''', ami '''double'''-ben az alakzat területét adja vissza.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>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 elõadáson is volt.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>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 elõadáson is volt.</div></td></tr>
</table>Kkovacshttp://wiki.math.bme.hu/index.php?title=Informatika4-2017/Gyakorlat8&diff=13102&oldid=prevKkovacs, 2017. október 30., 11:07-n2017-10-30T11:07:32Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">←Régebbi változat</td>
<td colspan='2' style="background-color: white; color:black;">A lap 2017. október 30., 11:07-kori változata</td>
</tr><tr><td colspan="2" class="diff-lineno">25. sor:</td>
<td colspan="2" class="diff-lineno">25. sor:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Írjátok át a felhasználórendszert, hogy tömbök helyett '''ArrayList'''eket használjon.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Írjátok át a felhasználórendszert, hogy tömbök helyett '''ArrayList'''eket használjon.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>* Írjátok <del class="diffchange diffchange-inline">át a </del>'''PersonalInfo''' osztály, <del class="diffchange diffchange-inline">hogy </del>Stringhez Stringet rendelõ '''HashMap'''ben tárolja <del class="diffchange diffchange-inline">az adatokat</del>.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>* Írjátok <ins class="diffchange diffchange-inline">egy </ins>'''PersonalInfo''' osztály, <ins class="diffchange diffchange-inline">ami </ins>Stringhez Stringet rendelõ '''HashMap'''ben tárolja <ins class="diffchange diffchange-inline">a User-ek adatait</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><java></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><java></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>HashMap<String, String> hm = new HashMap<String, String>();</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>HashMap<String, String> hm = new HashMap<String, String>();</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></java></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></java></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* Minden User-nek legyen egy ilyen '''PersonalInfo'''-ja.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Legyen egy statikus '''HashSet''' adattagja a '''PersonalInfo''' osztálynak, amiben tárolva vannak a lehetséges tulajdonságok (a '''HashMap''' lehetséges kulcsai).</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Legyen egy statikus '''HashSet''' adattagja a '''PersonalInfo''' osztálynak, amiben tárolva vannak a lehetséges tulajdonságok (a '''HashMap''' lehetséges kulcsai).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Ú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.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Ú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.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>* Ez azt is jelenti, hogy <del class="diffchange diffchange-inline">mostantól </del>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.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>* 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.</div></td></tr>
</table>Kkovacshttp://wiki.math.bme.hu/index.php?title=Informatika4-2017/Gyakorlat8&diff=13101&oldid=prevKkovacs: Ú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/…”2017-10-30T11:05:34Z<p>Ú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/…”</p>
<p><b>Új lap</b></p><div>== Elõadások ==<br />
<br />
Nézzük át elõször ezeket az elõadásokat:<br />
<br />
* [http://math.bme.hu/~kkovacs/webprog2015/WebprogEA3.pdf A memóriaképrõl]<br />
* [http://math.bme.hu/~kkovacs/webprog2015/WebprogEA4.pdf Öröklõdés és interface-ek]<br />
<br />
== Interface gyakorló feladatok ==<br />
<br />
=== Síkidomok ===<br />
<br />
Készíts egy Mesurable interface-t, amink az egyetlen metódusa a '''weight''', ami '''double'''-ben az alakzat területét adja vissza.<br />
<br />
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 elõadáson is volt.<br />
<br />
=== Repülõgépek ===<br />
<br />
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.<br />
<br />
Legyen 3 féle repülõgép, egy-egy amelyik csak '''Passanger''' vagy '''Freighter'''-t implementál, a 3. pedig mindkettõt.<br />
<br />
Í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.<br />
<br />
== Hasznos feladat ==<br />
<br />
* Írjátok át a felhasználórendszert, hogy tömbök helyett '''ArrayList'''eket használjon.<br />
* Írjátok át a '''PersonalInfo''' osztály, hogy Stringhez Stringet rendelõ '''HashMap'''ben tárolja az adatokat.<br />
<java><br />
HashMap<String, String> hm = new HashMap<String, String>();<br />
</java><br />
* Legyen egy statikus '''HashSet''' adattagja a '''PersonalInfo''' osztálynak, amiben tárolva vannak a lehetséges tulajdonságok (a '''HashMap''' lehetséges kulcsai).<br />
* Ú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.<br />
* Ez azt is jelenti, hogy mostantól 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.</div>Kkovacs