diff --git a/src/main/java/fi/utu/tech/ooj/exercise2/Tehtava4.txt b/src/main/java/fi/utu/tech/ooj/exercise2/Tehtava4.txt new file mode 100644 index 0000000000000000000000000000000000000000..53667c8bdcab0e343c1431ac8cfc813bf84856b8 --- /dev/null +++ b/src/main/java/fi/utu/tech/ooj/exercise2/Tehtava4.txt @@ -0,0 +1,44 @@ +Yleisurheilukilpailujen suoritusten kirjaamiseen suunniteltava ohjelma voidaan mallintaa luokkakokonaisuudeksi, joka sisältää seuraavat luokat: +Urheilija: Tämä luokka sisältää urheilijan tiedot, kuten nimi, syntymäaika, kansallisuus jne. +Laji: Tämä luokka sisältää lajin tiedot, kuten nimi, kuvaus ja säännöt. Se myös määrittää, mitä ominaisuuksia kukin lajityyppi edellyttää (esim. suoritusajan tai hypätyn pituuden mittaaminen). +Kilpailu: Tämä luokka kokoaa yhteen useita lajeja ja niissä kilpailevat urheilijat. Kilpailu sisältää kilpailun tiedot, kuten päivämäärä, paikka ja kilpailun nimi. +Osallistuminen: Tämä luokka sisältää tiedot siitä, että urheilija osallistuu kilpailuun. Se sisältää myös urheilijan kilpailussa tekemät suoritukset, kuten suoritusajan, hypätyn pituuden tai heitetyn pituuden. + Pisteytys: Tämä luokka määrittää pisteiden laskemisen jokaisesta lajista ja kokonaispistemäärän laskemisen ottelulle. Se käyttää kukin lajityypin ominaisuuksia pisteiden laskemiseen. + + +Luokkahierarkia voisi näyttää suunnilleen tältä: + + Urheilulaji + Juoksulaji + Pikajuoksu + Kestävyysjuoksu + Hyppylaji + Pituushyppy + Korkeushyppy + Heittolaji + Kuulantyöntö + Kiekonheitto + Kävely + Ottelu + Yleisurheiluottelu + Moniottelu + +Jokaisella luokalla tulisi olla ainakin seuraavat tärkeimmät rutiinit: + + Urheilulaji + String getNimi() - palauttaa urheilulajin nimen + Juoksulaji + int getMatka() - palauttaa juoksun matkan metreinä + Hyppylaji + boolean onkoPituushyppy() - palauttaa true, jos kyseessä on pituushyppy, false jos korkeushyppy + Heittolaji + double getMinimiPaino() - palauttaa minimipainon, jolla välineen tulee painaa + Kävely + int getMatka() - palauttaa kävelyn matkan metreinä + Ottelu + ArrayList<Urheilulaji> getLajit() - palauttaa ottelussa suoritettavat lajit + int[] getPisteet(Urheilija urheilija) - palauttaa urheilijan pisteet jokaisesta lajista + +Lisäksi jokaisella luokalla voisi olla tarvittavat getterit ja setterit attribuuteilleen, kuten esimerkiksi Urheilija-luokan nimi ja suoritusajat eri lajeissa. Huomaa, että tässä on esitetty vain suuntaa antava hierarkia ja rutiineja, jotka voidaan muokata projektin vaatimusten ja tarkemman suunnittelun mukaisesti. + +