Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Ved programmering av klasser for dataorienterte objektstrukturer så tar en ofte utgangspunkt i såkalte datamodeller, i form av klassediagrammer, som viser hvordan klasser (ofte kalt entiteter) er koblet sammen med assosiasjoner (ofte kalt relasjoner). En datamodell beskriver altså hvilke regler og begrensninger som gjelder for hvordan objekter kan kobles sammen under kjøring, men sier ikke hvilke som faktisk blir koblet sammen. F.eks. kan en datamodell beskrive at personer (altså instanser av klassen Person) kan kobles sammen for å representere ekteskap, men diagrammet sier ikke noe om hvilke instanser som faktisk er koblet sammen.

Dersom en datamodell har nødvendige detaljer, som vi kommer nærmere inn på, så kan koden for klassene skrives mer eller mindre automatisk, og det finnes verktøy, f.eks.  Eclipse-rammeverket EMF, som kan generere koden for deg. For å bruke slike verktøy riktig, så er det imidlertid viktig å kjenne grunnteknikkene, dvs. hvordan ulike typer assosiasjoner mellom klasser kan kodes.

La oss starte med et ekteskaps-koblingen mellom Person-objekter. Denne modellert under til venstre med et klassediagram og eksemplifisert ved et objektdiagram, hvor Hallvard er gift med Marit.

PlantUML Macro
class Person {
	String name
}

Person --> Person: ekteskap
PlantUML Macro
object "#hallvard: Person" as hallvard {
	name = "Hallvard"
}
object "#marit: Person" as marit {
	name = "Marit"
}
hallvard --> marit : ekteskap