2010-2011, II. félév
A zárthelyi során a beadandó feladat egy módosított változatát vesszük alapul. A szükséges fájlokat egyben megtaláljátok a mellékletek között, az első feladat az ömlesztett fájlok megfelelő struktúrába szervezése, a fordítási hibák kiszűrése.
A program tartalmaz apróbb hiányosságokat, hibákat; ezekből kell tetszőleges sorrendben implementálni, javítani az általatok kiválasztott feladatokat. Minden megoldás eggyel jobb érdemjegyet eredményez (az alább felsorolt csoportok szerint), amely helyességét (a mellékletben szintén megtalálható) media.test.MainTest
tesztfájl biztosítja. A tesztfájlon módosítani szigorúan tilos.
A feladatok, érdemjegyek a következőképp alakulnak:
import
utasítások okozzák)A feladatok egyszerűek, mindegyik megoldhaó 2-7 sorban, azonban feltételezik a használt fogalmak, eszközök mély ismeretét.
Az első feladat az, hogy szervezzétek a megfelelő csomaghierarchiába az osztályokat, fordítsátok a mellékelt projectet. Ez nem lesz olyan egyszerű, mert minden import
utasítás törlésre került. Amennyiben ezzel elkészülsz, és hiba nélkül fordul a program, megvan az elégséges érdemjegy.
Három egyszerűbb feladat közül választhattok, ezekkel szerezhető maximum 4-es érdemjegy. Az implementációs részleteket a tesztfájlban megtaláljátok.
A használt media.data.Rating
osztály azonosságvizsgáló függvényét valaki megírta, ám bizonyos esetekben nem várt működést produkál. Hiba van az implementációban, javítsd ki!
Szeretnénk egy olyan lekérdezéseket megfogalmazni a media.Media
osztály segítségével, amely lehetővé teszi a medián értékelés értékének meghatározását (az értékelések rendezett sorozatának középső eleme, amennyiben páros elem van, akkor az elem meghatározása lefelé kerekítéssel történjék!)
Szeretnénk egy olyan szolgáltatást a media.Media
osztályban, amely képes nagybetűsíteni ("kapitalizálni") a tárolt címeket: a cím első karakterét nagybetűre cseréli, az összes többit pedig kicsire.
Ötöst az kaphat, aki az eddigieket megcsinálta, és a következő két bonyolultabb feladat közül is megold legalább egyet:
A forráskódban található egy media.data.EBook
osztály legyen a media.data.Book
osztály leszármazottja. Hogy ezt a funkciót a rendszer le tudja ellenőrizni, implementálnod kell a megadott statikus getDefaultEBookCollection
függvényt is (ez adjon vissza legalább egy tetszőleges, általad készített EBook
példányt)!
Tedd klónozhatóvá az AMedia
osztályt!