Spring til indhold
Academi.dk

Objektorienteret programmering

UML-klassediagram

Let øvet DA↔EN-ordliste

Et klassediagram er en tegning af, hvilke klasser der findes, hvad de indeholder, og hvordan de hænger sammen. Hver klasse er en kasse i tre dele: navn, felter og metoder. Stregerne mellem kasserne viser, om der er tale om arv eller en almindelig forbindelse.

Forudsætter, at du har set klasser og objekter .

Kassen har tre rum

┌─────────────────────────────┐
│ Studerende                  │  ← navn
├─────────────────────────────┤
│ - navn: String              │  ← felter
│ - studienummer: String      │
├─────────────────────────────┤
│ + tilfoejKarakter(k: int)   │  ← metoder
│ + gennemsnit(): double      │
└─────────────────────────────┘

Øverst navnet, i midten felterne, nederst metoderne. Type skrives efter kolon. Det er hele grundformen.

Plus og minus

Tegnet foran er synligheden:

TegnBetyder
-privat, kun klassen selv
+offentlig, alle
#beskyttet, klassen og dens underklasser

En god tommelfingerregel, der også er et godt svar til eksamen: felter er -, metoder er +. Det er indkapsling tegnet på papir.

Stregerne mellem kasserne

Arv: trekant med ubrudt streg, peger op mod overklassen:

Studerende ──▷ Bruger

Læses “Studerende er en Bruger”. Se arv.

Association: almindelig streg. To klasser kender hinanden:

Ordre ──── Kunde

Aggregering: hul rombe. En helhed med dele, der også kan leve alene: et hold har studerende, men de studerende findes stadig uden holdet.

Komposition: udfyldt rombe. Delen kan ikke leve uden helheden: en ordrelinje findes ikke uden sin ordre.

Til et førsteårsprojekt er skellet mellem aggregering og komposition et af de steder, hvor censor gerne spørger. Vær klar med et eksempel fra jeres eget diagram.

Multiplicitet

Tallene i enderne af stregen siger, hvor mange:

Kunde 1 ──── 0..* Ordre
  • 1, præcis én
  • 0..1, nul eller én
  • 0..*, nul eller mange
  • 1..*, mindst én

Læs den højt: “én kunde har nul eller mange ordrer; én ordre hører til præcis én kunde”. Det er nøjagtig samme øvelse som i datamodellering, og de to diagrammer kommer naturligt til at ligne hinanden.

Hvor meget skal med?

Ikke det hele. Et diagram med tyve kasser og halvfjerds streger kan ikke læses, og det viser ikke, at I har forstået noget. Vis de klasser, der bærer modellen, og de vigtigste felter og metoder. Skriv i teksten, hvad I har udeladt og hvorfor.

Til rapporten er ét godt diagram med to afsnits forklaring mere værd end tre diagrammer uden.

Kort opsamling

  • Kasse i tre dele: navn, felter, metoder.
  • - privat, + offentlig.
  • Trekant er arv, rombe er helhed og del.
  • Tallene i enderne siger hvor mange.

Læs videre

Senest gennemgået .