Aggregering (UML — svak har-en)
En har-en-relasjon der delen kan finnes uavhengig av eieren — f.eks. et Fotballag har mange Spiller-objekter, men en spiller slutter ikke å eksistere om laget legges ned. Tegnes med åpen diamant (◇), til forskjell fra komposisjonens fylte diamant (◆). NB: ikke å forveksle med konseptet «aggregering» i data-og-analyse (filtrere/telle/gruppere et datasett) — samme ord, ulik betydning.
Slik kan du tenke om det
- Fotballaget som legges ned Både aggregering og komposisjon er har-en — spørsmålet er om delen overlever eieren. Et Fotballag har spillere, men en spiller slutter ikke å eksistere om laget legges ned, og derfor er diamanten åpen ◇. Er diamanten fylt ◆, dør delen med eieren.
Vanlige feil
- Du bruker arv der det egentlig er komposisjon Det er lett å gripe til arv så snart to klasser henger sammen. Men arv passer bare når den ene ER EN av den andre. Hvis den ene heller HAR den andre, er det komposisjon. En spilleliste er ikke en sang — den har mange sanger.