Ohjelmointitaito Luokkien vlinen koostumussuhde Jukka Juslin Jukka Juslin

  • Slides: 6
Download presentation
Ohjelmointitaito Luokkien välinen koostumussuhde Jukka Juslin © Jukka Juslin

Ohjelmointitaito Luokkien välinen koostumussuhde Jukka Juslin © Jukka Juslin

Luokkien väliset suhteet • Kurssin oppikirjassa luokkien välisiä suhteita on käsitelty luvussa 3 sivuilla

Luokkien väliset suhteet • Kurssin oppikirjassa luokkien välisiä suhteita on käsitelty luvussa 3 sivuilla 49 – 53 • Näistä tarkastellaan näissä kalvoissa erityisesti tehtävissä esiintyvää koostumussuhdetta esimerkinomaisesti © Jukka Juslin 2

Koostumussuhde - UML • Koostumussuhde suunnitellaan UML-kaavioon timanttimerkin avulla • Koostumussuhde luetaan kaaviosta esimerkiksi

Koostumussuhde - UML • Koostumussuhde suunnitellaan UML-kaavioon timanttimerkin avulla • Koostumussuhde luetaan kaaviosta esimerkiksi näin: ”Asiakas koostuu yhdestä viiva kahdesta osoitteesta” Koostumussuhdetta on olemassa mustalla timantilla piirrettyä ja valkoisella timantilla – tällä kurssilla käsittelemme kuitenkin valkoista timanttia (kuten oheisessa kuvassa) eli ns. heikkoa koostumussuhdetta • © Jukka Juslin 3

Koostumussuhde - toteutus • Koostumussuhteessa tietty olio sisältää toisentyyppisiä olioita • Seuraavaksi tarkastelemme edellisen

Koostumussuhde - toteutus • Koostumussuhteessa tietty olio sisältää toisentyyppisiä olioita • Seuraavaksi tarkastelemme edellisen Asiakkaan ja Osoitteen välisen koostumussuhteen toteuttamista © Jukka Juslin 4

Koostumussuhde - toteutus Seuraavasta esimerkistä on jätetty pois get/set metodit ja to. String yksinkertaistamisen

Koostumussuhde - toteutus Seuraavasta esimerkistä on jätetty pois get/set metodit ja to. String yksinkertaistamisen vuoksi. public class Asiakas { private String etunimi; private String sukunimi; private Osoite tyoosoite; private Osoite kotiosoite; private String puhelinnumero; private String email; public class Osoite { private String katuosoite; private String postinumero; private String kaupunki; private String maa; } public Asiakas() { tyoosoite = new Osoite(); kotiosoite = new Osoite(); } } Koostumussuhteen toteutus © Jukka Juslin 5

Koostumussuhde • Koostuvan olion kautta saadaan get-metodeilla haettua esimerkiksi asiakkaan tapauksessa osoitetiedot • Oppikirjasta

Koostumussuhde • Koostuvan olion kautta saadaan get-metodeilla haettua esimerkiksi asiakkaan tapauksessa osoitetiedot • Oppikirjasta kannattaa tutustua myös yhteyssuhteeseen © Jukka Juslin 6