Gyakorlat3
A MathWikiből
(Változatok közti eltérés)
(→5. Felhasználó rendszer) |
|||
9. sor: | 9. sor: | ||
* Hogy a tömb lefoglalással ne legyenek gondok, amikor létrejön ez a rendszer foglaljatok le mondjuk 500 '''User'''nek helyet és egy számlálóval mentsétek, hogy pontosan mennyi is van valóban a rendszerben. | * Hogy a tömb lefoglalással ne legyenek gondok, amikor létrejön ez a rendszer foglaljatok le mondjuk 500 '''User'''nek helyet és egy számlálóval mentsétek, hogy pontosan mennyi is van valóban a rendszerben. | ||
* Az elõbbihez az kell, hogy a '''User''' osztálynak legyen '''default konstruktor'''a, csináljatok hát neki. | * Az elõbbihez az kell, hogy a '''User''' osztálynak legyen '''default konstruktor'''a, csináljatok hát neki. | ||
− | * A '''User''' felvétele függvény talán úgy a legegyszerûbb, ha egy bemente van és az a '''User''' objektum amit be akarunk rakni a tömbbe. | + | * A '''User''' felvétele függvény talán úgy a legegyszerûbb, ha egy bemente van és az a '''User''' objektum, amit be akarunk rakni a tömbbe. |
− | * A komment tárolásánál elég ha beküldõ nevét tároljátok mondjuk itt nem kell teljes '''User'''t tárolni. | + | * A komment tárolásánál elég ha beküldõ nevét tároljátok mondjuk, itt nem kell teljes '''User'''t tárolni. |
− | * Mivel kommentbõl is sokat kell tárolni ezért nagyon hasonló módon meg lehet oldani a tárolásukat, mint a '''User'''ekét. | + | * Mivel kommentbõl is sokat kell tárolni, ezért nagyon hasonló módon meg lehet oldani a tárolásukat, mint a '''User'''ekét. |
== Feladatok == | == Feladatok == |
A lap 2013. szeptember 25., 15:09-kori változata
Jussunk el az elõzõ gyakorlat végére. Ez a leglényegesebb:
Tartalomjegyzék |
5. Felhasználó rendszer
Írjatok egy osztályt (ti találjátok ki a nevét, de legyen beszédes és célratörõ, általában a programozásban ez a legnehezebb feladat) ami a korábban megírt User objektumokból tud sokat tárolni (tömb). Továbbá valamilyen módon tárol még kommenteket is. Egy komment az üzenetbõl és a készítõjébõl áll, aki egy User. Találjátok ki, hogyan tárolnátok a kommenteket, érdemes új osztályt bevezetni rá. A rendszernek magának legyen 2 függvénye, egyik amivel új Usert lehet felvenni és egy amivel új kommentet lehet írni.
Pár tanács:
- Hogy a tömb lefoglalással ne legyenek gondok, amikor létrejön ez a rendszer foglaljatok le mondjuk 500 Usernek helyet és egy számlálóval mentsétek, hogy pontosan mennyi is van valóban a rendszerben.
- Az elõbbihez az kell, hogy a User osztálynak legyen default konstruktora, csináljatok hát neki.
- A User felvétele függvény talán úgy a legegyszerûbb, ha egy bemente van és az a User objektum, amit be akarunk rakni a tömbbe.
- A komment tárolásánál elég ha beküldõ nevét tároljátok mondjuk, itt nem kell teljes Usert tárolni.
- Mivel kommentbõl is sokat kell tárolni, ezért nagyon hasonló módon meg lehet oldani a tárolásukat, mint a Userekét.
Feladatok
A következő két feladatot érdemes lehet párhuzamosan oldani.
User kiegészítése
- Legyen jelszóváltoztatás, amihez 2 bemenet, régi jelszó, új jelszó. Használjuk a passwordCheck metódust.
- Legyen a usereknek jogosultságuk, ez lehet mondjuk egy String. Hogy milyen jogosultságok vannak majd késõbb mondjuk meg.
- Hozzatok létre egy új osztályt PersonalInfo néven, legyen inkább a teljes név ebben tárolva, és a Usernek legyen egy ilyen adattagja. Így sokkal könnyebben tudunk majd új adatokkal kiegészíteni a Userünket. Azért rakjunk is bele még pár dolgot, pl születési évet. Vegyük észre, hogy emiatt módosítani kell a User konstruktorát is.
- A PersonalInfonak legyen minden adattagjához egy set függvénye. Pl: setBirthYear.
- Ezeket delegáljuk a Usernek, eclipse-ben, jelöljük ki a PersonalInfo adattagját a Usernek felül Source -> Generate Delegate methods.
- Legyen egy statikus adattagja a Usernek, ami alapból 0 és minden konstruktor hívásnál növeljük eggyel.
Felhasználó rendszer kiegészítése
- A User kiegészítése miatt elképzelhető, hogy elromlott ez az osztály. Javítsátok meg.