Relasjon når et felt inneholder objekter av en annen klasse
Lov på eksamen
- Datamaskin med programmeringsverktøy
- Lærebok, dokumentasjon og egne notater og programmer
Ikke åpent internett (bare noen utvalgte nettressurser), kommunikasjon med andre eller kunstig intelligens.
Kan den løses uten PC?
Kan løses med penn og papir. Du trenger ikke kalkulator.
Fra 2027 er det bare kalkulator og skriftlige hjelpemidler på del 2. Vurderingen er gjort med KI og kan inneholde feil.
En egenskap (et felt) i objekter av en klasse inneholder objekter av en annen klasse.
Hva er riktig type relasjon mellom de to klassene i objektorientert modellering (OOM)?
Fasit
Aggregering.
LøsningsforslagKI-generert
At et felt i en klasse inneholder objekter av en annen klasse, er en «har»-relasjon: objektene av den første klassen har objekter av den andre klassen som en del av seg. En slik del–helhet-relasjon heter aggregering. Et eksempel er en klasse Lag med feltet spillere, som er en liste med objekter av klassen Spiller. I UML tegnes aggregering med en hul rombe ved helheten.
For å skille alternativene må vi se på hvor tett de to klassene er knyttet til hverandre:
- Assosiasjon er den mest generelle relasjonen. Den sier bare at objekter av de to klassene kjenner til eller bruker hverandre, for eksempel at en
Kundekan legge inn enBestilling. Den sier ikke at den ene klassen inneholder den andre. - Aggregering er en spesiell type assosiasjon der den ene klassen inneholder objekter av den andre som deler. Delene kan likevel eksistere uavhengig av helheten. En spiller finnes selv om laget legges ned.
- Komposisjon er en sterkere form for aggregering. Delene hører til helheten og kan ikke eksistere uten den. Slettes helheten, forsvinner delene. Et eksempel er rommene i et hus. Oppgaveteksten sier ingenting om at delobjektene bare kan eksistere inne i helheten, så vi kan ikke konkludere med komposisjon.
- Generalisering er arv, altså en «er en»-relasjon (en
Hunder etDyr). Den har ingenting med felt som inneholder objekter å gjøre.
Aggregering er det svaret som dekker akkurat det oppgaveteksten beskriver, uten å legge til noe om levetiden til delobjektene.