Niezmienny - szablon pojazdu SelfDriving, który pozostaje niezmieniony we wszystkich podtypach, tj. W kolejności, w której wykonuje nadpisane zachowania, aby dotrzeć do miejsca docelowego.
Załóżmy tutaj jeszcze jedną metodę
-List<SelfDrivingVehicle> vehicles
+Add(SelfDrivingVehicle vehicle)
vehicles.add(vehicle)
Warunek wstępny - SelfDriveVehicle typ podstawowy nie ma w nim pojazdów (tutaj kontekst to Dodaj), a jego warunek jest osłabiony, który nie może zostać zmieniony przez żaden z jego podtypów poprzez zmianę pojazdów własności i wzmocnienie go w sposób jawny. Każdy z podtypów może wywoływać tylko Add.
Postcondition - Po wywołaniu Add Typ podstawowy jest w Postcondition wzmocnionym, którego nie można osłabić podtypami poprzez zmianę wartości pojazdów.
Stan typu podstawowego powraca do pierwotnego stanu po wywołaniu zachowania dodawania.