对多关系可通过使用 OMCollection 模板的指针集合来实现。
如果 E 是一个通过角色名称 role 与 F 多重相关的类名,那么 E 包含以下数据成员:
OMCollection<F*> role;
在 E 中生成了以下方法来处理此关系:
OMIterator<F*> getRole() const;
例如,如果要将事件 X 发送给每个相关的 F 对象,请使用以下代码:
OMIterator<F*> iter(anE->getRole()); while(*iter) { *iter->GEN(); iter++; }
在此代码中,anE 是 E 的一个实例。
void addRole(F* p_F);
void removeRole(F* p_F);
void clearRole();
这些缺省值可通过角色的属性进行修改。