Versions Compared

Key

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

...

PlantUML Macro
class Person {
	String firstName
	String familyName
	String getFullName()
}

class Car {
	String brand
}

Person "owner: 1" --> "cars: *" Car: ownership
Code Block
languagejava
class Person {
	String firstName
	String familyName
	String getFullName()
	Collection<Car> cars
 }

class Car {
	String brand
	Person owner
}

Figuren lengst til venstre viser et klassediagram med to klasser. Person-klassen har to attributter og én operasjon/metode, mens Car-klassen har ett attributt. Person- og Car-klassene er knyttet sammen med en ownership-assosiasjon. ownership-assosiasjon er annotert med "owner: 1" i Person-enden og "cars: *" i Car-enden, for å indikere hvordan assosiasjonen forstås fra hver ende:

  • Fra Person-enden kan en komme til Car-enden via cars-rollen, og *-tegnet indikerer at én Person-instans kan være knyttet til flere Car-instanser
, mens
  • .
  • Fra Car-enden kan en komme til Person-enden via owner-rollen, og 1-tegnet indikerer at én Car-instans bare kan være knyttet til én Person-instans.

Diagrammet tilsvarer omtrent Java-koden som er vist til høyre. Vi ser at attributter og operasjoner i klassediagrammet tilsvarer felt og metoder i Java-koden. Assosiasjonene har ikke noe direkte Java-motstykke, men en finner igjen assosiasjonsrollene som felt som brukes som implementasjonsteknikk. Når en instans kan være koblet til flere andre instanser, så må en bruke Collection (evt. array, List eller Set) og ikke en enkel type.