Komposisjon (har-en)
Et objekt HAR andre objekter som egenskaper — f.eks. et Spill har en liste av baller, eller en Spilleliste har mange Sanger.
Slik kan du tenke om det
- Har-en: delene bor inni Komposisjon er har-en: et Spill har en liste med sprites, og de objektene bor inni Spillet i stedet for å være en type av det. Test det ved å lese høyt — klinger «HAR», er det komposisjon. Den fylte diamanten ◆ står alltid hos den som eier.
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.
Øv på dette
- Flervalg: er-en eller har-en?
- Flervalg: komposisjon, aggregering eller assosiasjon?
- Sjekk: arv eller komposisjon?
- Flervalg: arv, komposisjon, polymorfi eller abstraksjon?
- Mynten kjenner spilleren
- Utvid handlekurven: dyreste vare og rabatt
- Begrepssjekk: Arv og komposisjon
- Drill: Arv og komposisjon
- Drill: OOP-begreper (utfordring)
- Kodeløype: arv og komposisjon
- Utfordring: strømmetjeneste med komposisjon
- Spilleliste og Sang — modeller, implementer, test
- Diskuter: arv eller komposisjon?
- Fra kode til diagram
- Spiller og våpen: arv eller komposisjon?
- To design for et power-up i spillet: arv eller komposisjon?