Do zdaj smo (v prejšnjih učnih enotah) spoznali diagrame objektov, ki prikazujejo lastnosti objektov in njihove vrednosti. Ti diagrami predstavljajo točno določen trenutek med izvajanjem programa, zato se med samim izvajanjem programa spreminjajo.
So tudi zelo podrobni; v nekaterih primerih celo preveč podrobni. Diagrami razredov so bolj splošne oziroma abstraktne predstavitve strukture programa. Namesto, da bi prikazovali posamezne objekte, prikazujejo razrede in relacije med njimi.
Obstaja več vrst relacij (oziroma razmerij) med razredi:
Pravokotnik
vsebuje sklic na objekt Tocka
, in vsak objekt Komplet
vsebuje sklice na več objektov Karta
. Tako vrsto relacije oziroma razmerja imenujemo vsebuje (ang. has-a), kot »Pravokotnik vsebuje točko«.Diagram razredov (ang. class diagram) je grafična predstavitev teh relacij oziroma razmerij. Spodnja slika na primer prikazuje relacije med razredi Karta
, Komplet
in Igralec
.
Puščica z votlim trikotnikom predstavlja relacijo je; v tem primeru označuje, da razred Igralec
je neke vrste Komplet
oziroma, da deduje od razreda Komplet
.
Običajna puščica predstavlja relacijo vsebuje; v tem primeru objekt Komplet
vsebuje sklice na objekte Karta
.
Zvezdica poleg puščice je številčnost (ang. multiplicity); prikazuje koliko objektov Karta
vsebuje objekt Komplet
. Številčnost je lahko preprosto število, na primer 52, območje, na primer 5..7 ali zvezdica (*), ki označuje, da ima lahko komplet poljubno število kart.
Bolj podroben diagram lahko prikazuje, da objekt Komplet
dejansko vsebuje tabelo objektov Karta
, vendar vgrajenih tipov, kot sta na primer tabela in slovar, običajno ne vključimo v diagram.