3.1.2. Typy operací

Mezi operacemi abstraktního datového typu lze rozlišit tři druhy operací: konstruktor, selektor a modifikátor. Operace, která ze zadaných parametrů vytváří novou hodnotu abstraktního datového typu, se nazývá konstruktor. Úkolem konstruktoru je sestavení platné vnitřní reprezentace hodnoty na základě dodaných parametrů. V případě typu Time je konstruktorem operace createTime(). Operace označovaná jako selektor slouží k získání hodnot, které tvoří složky nebo vlastnosti konkrétní hodnoty abstraktního datového typu; v uvedeném příkladu jsou to operace getHours() a getMinutes(). A konečně operace typu modifikátor provádí změnu hodnoty datového typu; příkladem je operace increment().

Obrázek 3.1. Diagram signatury typu Time

Strukturu abstraktního datového typu můžeme přehledně znázornit diagramem signatury, který obsahuje operace propojené šipkami ve směru toku dat s typy parametrů a výsledku. Z diagramu můžeme odvodit signatury všech operací abstraktního datového typu. Pro typ Time je tento diagram uveden na Obr. 3.1.

Příklad 3.3.
Vytvořte diagram signatury abstraktního datového typu Nat, reprezentujícího přirozená čísla počínaje nulou.

Tento typ bude poskytovat operaci zero(), která vrátí reprezentaci nuly, dále operaci succ(), poskytující následníka zadaného čísla, operaci isZero(), testující, zda je jejím parametrem nulová hodnota, a operaci add(), provádějící součet dvou přirozených čísel. Diagram signatury tohoto abstraktního datového typu je uveden na Obr. 3.2.

Obrázek 3.2. Diagram signatury typu Nat