オブジェクトの多重度

オブジェクトには、多重度があり、これによりオブジェクトを単一オブジェクト、配列、リスト、コレクション、あるいはマップとして実装するかが決定されます。 オブジェクトの CG::Relation::Implementation プロパティーを使用して、デフォルトの実装を変更できます。

表示される関係を持たないオブジェクトでもブラウザーに表示されないオブジェクト・タイプに対して少なくとも 1 つの関係を持つため、Implementation プロパティーは、メタクラス Class ではなく、メタクラス Relation の下にあります。

限定多重度

限定多重度 (例えば、2) を持つオブジェクトは、多重度と同じ数の要素を持つ配列に割り振られます。 例えば、多重度が 2 の暗黙タイプのオブジェクト B の場合、次の配列が割り振られます。

extern struct B_t B[2];

無制限多重度

多重度が * (無制限) のオブジェクトは、RiCList 構造に割り振られます。 例えば、多重度が * のオブジェクト A の場合、以下の構造が割り振られます。

extern RiCList A;

RiCList は、IBM® Rational® Rhapsody® Developer for C フレームワークによって提供される定義済みのリスト・コンテナー・タイプです。

未指定または単一多重度

多重度が指定されていないオブジェクトは、デフォルトで多重度が 1 になります。 単一オブジェクトは、単純構造に割り振られます。 例:

struct A_t {
    /* User explicit entries */
} A;

この場合、単一オブジェクト A は、A の宣言ファイルの A_t struct 定義の最後に割り振られます。


フィードバック