Heikko koostumussuhde

Download Report

Transcript Heikko koostumussuhde

Koostumussuhde
Jukka Juslin
© Jukka Juslin
1
Sisältö
• Koostumussuhde
– Koostumussuhteen kuvaaminen UML
luokkakaaviossa
– Koostumussuhteen toteuttaminen Javaohjelmassa
• Assosiaation ja koostumuksen ero Javaohjelmassa
© Jukka Juslin
2
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
3
Koostumussuhteen kuvaaminen
UML-kaaviossa
• Seuraavassa UML-luokkakaavio ohjelmistosta,
jossa kuvataan koostumussuhdetta:
Heikon koostumuksen
UML symboli
© Jukka Juslin
4
Koostumussuhteen toteuttaminen
Java ohjelmassa
public class Osoite {
private String katuosoite;
private String postinumero;
private String kaupunki;
private String maa;
}
Manuaalisesti
käännettynä tämä
Luokka pitää olla ensin
public class Asiakas {
private Osoite osoite;
public Asiakas() {
osoite = new Osoite();
}
}
© Jukka Juslin
Omaa Osoite-tyyppiä oleva
attribuutti on oltava
Konstruktorissa on muodostettava
uusi Osoite-luokan olio newavainsanan avulla
5
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
6