分類子には、 任意の数の操作を持たせることもできますし、 まったく操作を持たせないこともできます。 操作は、分類子 (通常はクラス) のインスタンスの振る舞いを定義しますが、 その他の分類子 (ユースケースまたはコンポーネントなど) の振る舞いも定義します。
操作を追加することで、モデル内の分類子について、 多くのタイプの振る舞いを識別することができます。 クラスにおける操作は、 オブジェクトが実行を要求される機能の実装です。 十分に定義された操作は、単一のタスクを実行します。
操作には、操作でエラーが発生した場合に作成される要素、つまり例外が含まれる場合があります。
分類子内のすべての操作は、固有のシグニチャーを持つ必要があります。 シグニチャーには、操作の名前とそのパラメーター型の順序付きリストが含まれています。 操作名の UML 構文は、以下のとおりです。
visibility «stereotype» name(parameter list) : return-type
例えば、e-commerce アプリケーションの Customer クラスは、 以下の操作を持っています。- getBalance([in] day: Date) : MoneyType。 操作シグニチャーが記述する情報は、以下の表のとおりです。
| 構文のパーツ | サンプル | 説明 |
|---|---|---|
| 可視性 | - | マイナス符号は、この操作の可視性が private であることを示しています。 この操作は、他のクラスから呼び出すことはできません。 |
| 名前 | getBalance | 名前は、提供されるサービスに応じた操作を説明します。 |
| パラメーター・リスト | ([in] day: Date) | この操作は、day という 1 つの入力パラメーターを持ちます。 次の Date は、そのタイプです。 完全なシグニチャー (パラメーター・リストを含む) または操作名のみを表示することができます。 |
| 戻りの型 | : MoneyType | この操作が戻す型は、MoneyType クラスのインスタンスです。 |
e-commerce アプリケーションにおける Cart クラスは、 仮想ショッピング・カートに商品を追加したり、除去したりします。 addItem( ) 操作によって、商品をカートに追加し、removeItem( ) 操作によって、商品を除去します。