![]() |
Expressions diagram of the Kernel package |
Abstraktní třída ValueSpecification je používaná pro identifikaci hodnoty nebo hodnot v modelu. Může odkazovat na instanci nebo může být výrazem vyjadřujícím instanci či instance.
Notace: žádná obecná není.
Poskytovaná hodnota může být jedna, ale také žádná či množina hodnot. Je vyžadováno, aby vrácená hodnota (či hodnoty) měla (měly) v daném kontextu smysl.
Důležité metody třídy:
- integerValue() – vrací hodnotu typu Integer, je-li možné ji spočíst.
- booleanValue() – vrací hodnotu typu Boolean, je-li možné ji spočíst.
- realValue() – vrací hodnotu typu Real, je-li možné ji spočíst. Zavedeno v UML 2.4.1.
- stringValue() – vrací hodnotu typu String, je-li možné ji spočíst.
- unlimitedValue() – vrací hodnotu typu UnlimitedNatural, je-li možné ji spočíst.
- isNull() – vrací true, je-li hodnota null.
Třída Expression zachycuje stromovou strukturu symbolů, které představují (klidně prázdnou) množinu hodnot. Výraz (expression) reprezentuje vnitřní či koncový uzel ve stromu. Pokud není definován operand, jedná se o koncový uzel. Pokud je operand definován, pak Expression je operátor pro operand(y).
Notace: výchozí notace: výraz bez operandů je zobrazen svými symboly bez uvozovek. Výraz s operandy je zobrazen svými symboly následovaný kulatými závorkami, ve kterých jsou postupně jednotlivé operandy.
Příklady:
• xor
• else
• plus (x, 1)
• x+1
Příklady:
![]() |
Příklad: Value Specification |
Pokud se podíváte na příklad s výrazem, pak zjistíte, že nejde o nic jiného, než o návrhový vzor Kompozice (pokud nevíte, co jsou návrhové vzory, nic si z toho nedělejte, ve zkoušce OCUP rozhodně ze vzorů zkoušeni nebudete).
![]() |
Návrhový vzor Kompozice |
Třída OpaqueExpression představuje neinterpretovatelný textový výraz, který vyjadřuje (klidně prázdnou) množinu hodnot. Výraz je jazykově závislý řetězec používaný k popisu hodnot(y). Volitelně lze určit jazyk (atribut language). Pokud však není atribut language prázdný, musí kardinalita language odpovídat kardinalitě atributu body.
Notace: Výraz je zobrazován jako text v syntaxi daného jazyka. Pokud je zadán jazyk, pak je tento zobrazen ve složených závorkách.
Příklady:
- x > 0
- {OCL} a > b and self.size > a
- Average hours Works per week
Třída InstanceValue je přesný popis hodnoty identifikující instanci.
Žádné komentáře:
Okomentovat