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