5.2. Második lépés

iDevice ikon

A beiratkozás következő lépése az, hogy a :Tag objektumban tárolt adatokat hosszabbidejű tárolás céljából egy adatbázisba is rögzítsük. Az adatbázissal való kommunikációt külön objektum végzi, az :Adattarolo, melynek most a bejegyez() műveletet kell elvégezni. Ehhez elkéri a:Tag-tól a tárolandó adatokat: felszólítja, hogy végezze el a getAdatok() műveletét. Ennek a műveletnek nincs bemenő paramétere, de van visszatérési értéke (return value), feladata pedig az, hogy a :Tag attribútumait egy szövegtömbbe helyezze. A bejegyez() eljárás ezt az adatok tömbváltozóba veszi át, és innen használja fel az adatbázisba íráshoz. Az új tag az adatbázisban kap egy azonosítót (id), és azt szeretnénk, hogy ezt is tárolja a :Tag, ezért a bejegyez() meghívja a :Tag objektum setAzon() műveletét, ami az objektum azon attribútumába írja a paraméterben kapott értéket.

A beiratkozás záró aktusa, hogy az ügyfélnek tagsági kártyát nyomtatunk. Az ehhez elindított Tagkartyanyomtato() egy konstruktor, más néven példányosító művelet (create action) létrehoz egy objektumot a Tagkartyanyomtato osztályból. (A művelet neve azért egyezik meg az osztály nevével, mert ez a Java nyelv szabálya. Ez nem UML megkötés, tehát ha más nyelvre tervezünk, nem ezt kell követni.) A létrejött Tagkartyanyomtato objektum rögtön el is végzi a nyomtatást, de a feladat elvégzéséhez elkéri a :Tag adatait. A :Vezerlo miután értesült a feladat elvégzéséről (visszakapta a vezérlést) meg is szünteti az imént létrehozott objektumot a bezar() destruktor művelettel (destroy action). (A Java automatikusan megszünteti a nem használt objektumokat, ezért ott csak ritka esetben van szükség a destruktor műveletek alkalmazására.)

Összegzésként általánosan is fogalmazzunk meg a szekvencia-diagramok értelmezéséhez elengedhetetlen két tudnivalót!

-   Az üzeneteket jelző nyilakra írt művelet a megcélzott (hívott) objektum művelete (az ő osztályának a definíciója írja le), ő is hajtja végre úgy, hogy a végrehajtás tartamára megkapja a vezérlést.

-   A művelet végrehajtását pedig a vezérlést átadó (hívó) objektum váltja ki, de ezt csak úgy teheti, ha birtokában van a hívott objektum hivatkozási címe. Ez a cím akkor keletkezik, amikor az objektum létrejön.

Az üzenetet a megcélzott objektum szempontjából eseménynek nevezik. Az objektumok mindig egy esemény hatására végzik el valamely műveletüket, jönnek működésbe.