Versions Compared

Key

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

...

Enkelt sagt så rammer en inn objektdiagrammer og knytter disse sammen med piler annotert med metodekall. Objektstrukturen i fra-enden representerer før-tilstanden og objektstrukturen i til-enden er etter-tilstanden en får dersom metodekallet utføres. Metodekallene skrives slik en gjør i programkode, men med objektidentitet istedenfor variabelreferanser.

Denne diagramtypen kan brukes til å spesifisere hva en metode er ment å gjøre, eller til å dokumentere hva metoden faktisk gjør. Diagrammer av denne typen er lett å oversette til en enhetstest, som jo rigger opp en før-tilstand, utfører koden som skal testes og sjekker etter-tilstanden mot forventningene.

Lucidchart
auto-updatetrue
width700
nameObjektdiagrameksempel-453-2a50d1af
id4304-6848-5225c542-ab8b-122e0a00df12
alignLeft
height665

Figuren viser en objektstruktur med fire objekter, med ett Playlist-objekt og tre Song-objekter, hvorav to av Song-objektene er knyttet til Playlist-objektet og ett Song-objekt er alene. Denne objektstrukturen er rammet inn av som en før-tilstandentilstand.

Metodekallet #3.addSong(#4), altså addSong-metoden kalt på Playlist-objekt med det ensomme Song-objektet som argument, har som effekt å knytte argumentet til Playlist-objektet, slik objektstrukturen som er rammet inn i som en etter-tilstanden tilstand viser.

Dersom objektstrukturen kun består av ett objekt, så kan en utelate innrammingen og la transisjonspilen gå direkte fra dette objektet. Dette gjør det raskere å tegne diagrammet, men kan også gjøre det verre å skille denne diagramtypen fra vanlige objektdiagrammer.

PlantUML Macro
object "#1: Person" as p1 {
	name = null
}

object "#1: Person" as p2 {
	name = "Ola Nordmann"
}
p1 -> p2: #1.setName("Ola Nordmann")