Klassen Lane
Vi låter en fil bestå av ett antal positioner som antingen kan innehålla ett fordon eller vara tom (dvs null
).
Använd en array. Fordon in i en änden (högsta index) och ut ur andra änden (index 0).

Förenkling av verkligheten: Alla fordon tar lika stor plats.
Vad händer på filen när tiden stegas?
Förenkling av verkligheten: Ett fordon står antingen stilla eller flyttar sig en plats per tidssteg.
Vad sker i ändarna på Lane
?
Klassen Lane
vet inte vad som finns framför eller bakom.
Det är alltså "någon annan" som ser till att fordon kommer in på respektive lämnar filen.
Lane
måste tillhandahålla
en metod för att ta ut från första platsen och returnerar fordonet som fanns där:

Det måste också finnas en metod som sätter ett fordon på sista platsen:

Om man lägger ett fordon på sista platsen och den inte var ledig kommer man att tappa bort det som låg där:

Det måste alltså finnas en metod som talar om sista platsen är ledig.
Vi får alltså följande UML-diagram: Se specifikationen! |
![]() |