Ohjelmointitaito Luokkien vlinen koostumussuhde Jukka Juslin Jukka Juslin Slides: 6 Download presentation 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 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 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 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 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 kannattaa tutustua myös yhteyssuhteeseen © Jukka Juslin 6