Koostumussuhde Jukka Juslin © Jukka Juslin
Sisältö Koostumussuhde Koostumussuhteen kuvaaminen UML luokkakaaviossa Koostumussuhteen toteuttaminen Java-ohjelmassa Assosiaation ja koostumuksen ero Java-ohjelmassa © Jukka Juslin
Koostumussuhde Luokkakaaviossa luokkien välille piirretään usein suhteita Luonnollisesti kaikki oikeat ohjelmistot koostuvat monista luokista Suhteiden toteuttamiselle on olemassa omat selkeät sääntönsä, jotka on tärkeä oppia © Jukka Juslin
Koostumussuhteen kuvaaminen UML-kaaviossa Seuraavassa UML-luokkakaavio ohjelmistosta, jossa kuvataan koostumussuhdetta: Heikon koostumuksen UML symboli © Jukka Juslin
Koostumussuhteen toteuttaminen Java ohjelmassa public class Osoite { private String katuosoite; private String postinumero; private String kaupunki; private String maa; } public class Asiakas { private Osoite osoite; public Asiakas() { osoite = new Osoite(); Manuaalisesti käännettynä tämä Luokka pitää olla ensin Omaa Osoite-tyyppiä oleva attribuutti on oltava Konstruktorissa on muodostettava uusi Osoite-luokan olio new- avainsanan avulla © Jukka Juslin
Assosiaation ja koostumuksen ero Tyypillinen luokkien välinen suhde Java-ohjelmassa on myös assosiaatio Assosiaation toteuttaminen eroaa koostumuksesta siten, että konstruktorissa ei tehdä uutta luokan oliota Assosiaation UML diagrammissa ei ole koostumuksen salmiakkia/timanttia toisessa päässä On pääteltävä ns. multiplisiteetin (eli yhteysviivan päissä olevien numerojen perusteella) mihin päähän laitetaan oman luokan olio attribuutiksi ja lisäksi järjestely voi vaatia taulukoiden käyttöä (jotka opitaan myöhemmin osiossa kaksi) © Jukka Juslin