Gyakorlat3

A MathWikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „Jussunk el az elõzõ gyakorlat végére. Ez a leglényegesebb: === 5. Felhasználó rendszer === Írjatok egy osztályt (ti találjátok ki a nevét, de legyen besz…”)
 
 
(2 szerkesztő 3 közbeeső változata nincs mutatva)
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 ==
 +
 
 +
A következő két feladatot érdemes lehet párhuzamosan oldani.
  
 
=== User kiegészítése ===
 
=== 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 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.
+
* 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 '''User'''nek 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.
 
* Hozzatok létre egy új osztályt '''PersonalInfo''' néven, legyen inkább a teljes név ebben tárolva, és a '''User'''nek 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 '''PersonalInfo'''nak legyen minden adattagjához egy set függvénye. Pl: '''setBirthYear'''.
 +
* Ezeket delegáljuk a '''User'''nek, eclipse-ben, jelöljük ki a '''PersonalInfo''' adattagját a '''User'''nek felül Source -> Generate Delegate methods.
 +
* Legyen egy statikus adattagja a '''User'''nek, 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.
 +
* Írjatok egy metódust amivel szépen ki tudjátok iratni a kommenteket, legyen ott az is, hogy ki írta.
 +
* Legyen egy olyan metódus, ami csak egy adott user kommentjeit írja ki.
 +
* Tanács: a kommentek osztálynak írjatok egy kiíró metódust, hogy majd csak ezt kelljen meghívni.

A lap jelenlegi, 2013. szeptember 25., 15:45-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.
  • Írjatok egy metódust amivel szépen ki tudjátok iratni a kommenteket, legyen ott az is, hogy ki írta.
  • Legyen egy olyan metódus, ami csak egy adott user kommentjeit írja ki.
  • Tanács: a kommentek osztálynak írjatok egy kiíró metódust, hogy majd csak ezt kelljen meghívni.
Személyes eszközök