From 321ddd253b1750d80c438125b5fb2c4d6103a656 Mon Sep 17 00:00:00 2001 From: Veritorakka <eemeli302@gmail.com> Date: Wed, 3 May 2023 23:22:33 +0300 Subject: [PATCH] =?UTF-8?q?Teht=C3=A4v=C3=A4=204?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fi/utu/tech/ooj/exercise2/Tehtava4.txt | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/main/java/fi/utu/tech/ooj/exercise2/Tehtava4.txt 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 0000000..53667c8 --- /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. + + -- GitLab