Alla olevissa tehtävissä voit käyttää webistä löytyvää Flow Chart Maker & Online Diagram Software -palvelua luokkakaavioiden suunnittelussa.
Vaihtoehtoisesti voit opetella käyttäämään Visual Studion UML Class Diagram -työkalua. Pienimuotoisen ohjeen löydät esim. täältä: Working with Class Diagrams? Let Visual Studio 2013 do the work. (Wanha mutta edelleen validi).
Tee Rengas-luokka, jolla on seuraavat ominaisuudet: merkki, tyyppi ja rengaskoko. Tee tämän jälkeen Kulkuneuvo-luokka muutamilla kulkuneuvoon kuuluvilla ominaisuuksilla (nimi, malli) ja käytä tekemääsi Rengas-luokkaa apuna renkaiden käsittelyyn. Tässä vaiheessa voit koostaa kulkuneuvon renkaat Rengas-olioina esim. taulukkoon tai kurssimateriaalissa esitettyy List-rakenteeseen (kokoelmaluokat käsitellään tarkemmin seuraavissa demoissa). Tee pääohjelma, jossa luot muutamia kulkuneuvoja (esim. auto ja moottoripyörä) renkaineen. Tietoja ei tarvitse kysyä käyttäjältä, vaan voit alustaa niitä suoraan pääohjelman koodissa.
Esimerkkitoiminta:
Created a new vehichle Porsche model 911
Tyre Nokia added to vehicle Porsche
Tyre Nokia added to vehicle Porsche
Tyre Nokia added to vehicle Porsche
Tyre Nokia added to vehicle Porsche
Vechicle Name: Porsche Model:911
Tyres:
-Name: Nokia Model:Hakkapeliitta TyreSize:205R16
-Name: Nokia Model:Hakkapeliitta TyreSize:205R16
-Name: Nokia Model:Hakkapeliitta TyreSize:205R16
-Name: Nokia Model:Hakkapeliitta TyreSize:205R16
Created a new vehichle Ducati model Diavel
Tyre MIC added to vehicle Ducati
Tyre MIC added to vehicle Ducati
Vechicle Name: Ducati Model:Diavel
Tyres:
-Name: MIC Model:Pilot TyreSize:160R17
-Name: MIC Model:Pilot TyreSize:140R16
...
Pohdi jääkaappia reaalimaailman käsitteenä ja erityisesti sitä mitä sieltä löytyy. Tee pienimuotoinen toteutus, joka koostaa jääkaapin sisältöä muutamista eri asioista/olioista.
Jääkiekon SM-liigassa on viisitoista joukkuetta, ja jokaisessa joukkuuessa on noin 25 pelaajaa. Tee Pelaaja-luokka, jolla on ominaisuudet: etunimi, sukunimi, pelipaikka (mv, p, h), kätisyys (L tai R). Luo myös luokka Seura, jolla on ominaisuudet: nimi, kaupunki ja kokoelma Pelaaja-olioita. Tee konsoli sovellus, joka osaa esittää valitun seuran pelaajat. Voit "kovakoodata" pelaajatiedot pelaajaolioihin.
Bonustehtävä
Mihin ja miten tallentaisit pelaajien tiedot siksi aikaa kun ohjelma ei käynnissä? Toteuta valitsemasi ratkaisu ja saat yhden ylimääräisen pisteen.
Tehtävässä tulee toteuttaa muutamia luokkia, joiden avulla testataan abstraktien metodien toimivuutta.
Luo abstrakti luokka Nisakas, jolla on Ika-ominaisuus sekä Liiku-metodi, jonka toteutus on jätetty toteuttamatta (abstrakti metodi).
Peri Nisakas-luokasta Ihminen-luokka, jolla on ominaisuuksina ihmiseen yleisesti liittyviä ominaisuuksia (paino, pituus, nimi). Lisää Ihminen-luokkaan metodit: Liiku ja Kasva, joista ensimmäinen tulostaa ruutuun "liikun" ja jälkimmäinen lisää ihmisen ikää yhdellä vuodella. Huomioi, että Liiku-metodi ja Ikä-ominaisuus on Nisakas-luokassa
Peri Ihminen-luokasta Vauva- ja Aikuinen-luokat. Ylikirjoita Vauva-luokassa yliluokan Liiku-metodi tulostamaan "konttaa". Ylikirjoita Aikuinen-luokassa myös sama metodi ja laita se tulostamaan "kävelee". Lisää aikuiselle ominaisuus auto (String). Lisää vauvalle ominaisuus vaippa (String).
Toteuta pääohjelmassa muutamia ihmisiä, aikuisia ja vauvoja. Tulostele olioiden tietoja konsolille.
Pohdi jokin reaalimaailman asia, jonka kautta voit toteuttaa pienimuotoisen C#-ohjelman/toteutuksen, joka käyttää koostamista.
1. Suunnittele luokkarakenne UML-kaaviona.
2. Laadi tarvittavat luokat ja testipääohjelma.