对象的多重性

对象具有多重性,它决定了对象会实施为单个对象、数组、列表、集合还是图。您可以使用对象的 CG::Relation::Implementation 属性来修改缺省实施。

Implementation 属性位于元类 Relation 下,而不是 Class 下,因为即使没有任何可视关系的对象,也至少与浏览器中隐藏的对象类型具有一种关系。

受限多重性

具有受限多重性(例如 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_t struct 定义的末尾分配单个对象 A


反馈