Szőlő Szüretelési Szimuláció

Beadási határidő:
2010. október 31. 23:59 (GMT+01:00)
A zárthelyinek erős előfeltétele az elfogadott beadandó.
Példa főprogram UML diagram

Készíts egy BetakaritoMunkas interfészt, amely metódusokat biztosít Az interfésznek legalább a fent leírtakat biztosítania kell, ám indokolt esetben további metódusai is lehetnek.
A SzoloSzureteloMunkas osztály megvalósítja a BetakaritoMunkas interfészt.
A Szuret absztrakt osztályra jellemző adat ezen adatok az összes szüret esetén egységesek (csak beállító metódusaik vannak).
Az egyes Szuret objektumokra jellemző adat ezeken kívül még Munkást akkor lehet felvenni a szüretelők közé, ha még van hely, illetve ha még nincs ilyen néven másik munkás (vagy akár ő maga), mivel a nevek keveredése félreértéseket okozhat a szüret megszervezésekor. Lehetőség van lekérdezni, hogy egy munkás (vagy azonos nevű társa) feljelentkezett-e már a szüretre, vagy sem. A szüreti esemény két legfontosabb eredménye a haszon, és a szüret időtartama. Ezen adatok minden specializált osztály esetében különbözően számolandóak.
A SzoloSzuret osztály a Szuret specializációja, ahol az osztályra jellemző adat az aszú felvásárlási ára, amely tetszőlegesen módosítható. Két konstruktor tartozik a SzoloSzuret osztályhoz: Ha mást nem mondunk, akkor az aszúsodás nem indult be (0.0), a szüretelők maximális létszáma pedig 20. Lehetőség van lekérdezni, hogy az adott szüreten lévő munkások közül ki a leglassabb.

A szüret időtartamát úgy számoljuk ki, hogy a szüretelendő terület méretét megszorozzuk a termés m2-enkénti mennyiségével (teljes mennyiség), majd ezt osztjuk a munkások összesített sebességével.

A haszon képlete a következő: szőlő ára + aszú ára - munkások bére. A szőlő árát úgy kapjuk, hogy a teljes szőlőmennyiségből levonjuk az aszút, majd felszorozzuk a felvásárlási árral. Hasonlóan járunk el az aszú esetében is. A munkások bére a szüret időtartamából és a munkások óradíjából számolható.

A megoldások összes osztálya/interfésze kerüljön a szuret nevű csomagba!
A megvalósítás során pontosan kövesd a feladat szövegét. A mellékelt példa főprogram és UML diagram is segítséget nyújt a metódusok elnevezésével és paramétereivel kapcsolatban. Az osztályok belső reprezentációját a lehető legjobban védd, tehát csak akkor engedj, és csak olyan hozzáférést, amelyre a feladat felszólít, vagy amit a példa főprogram használ.
A beadott megoldásodnak működnie kell a mellékelt főprogrammal, ám ez nem elégséges feltétele az elfogadásnak. Törekedj, hogy kódod általános és újrafelhasználható legyen. Ezen tulajdonságokat is értékelni fogjuk!