<< §2.1.2.(a) No role of the same team | ↑ Table of Contents ↑ | §2.1.2.(c) Base class decapsulation >> |
§2.1.2.(b) No cycles
The base class mentioned after playedBy
may not be
an enclosing type (at any depth) of the role class being defined.
This rule prohibits the creation of cycles where the base instance of
a given role R
contains roles of the same type R
.
More generally any sequence of classes C1, C2, .. Cn
were each Ci+1
is either a member or the base class of
Ci
and Cn = C1
is forbidden.
Conversely, it is also prohibited to bind a role class to its own inner class.
<< §2.1.2.(a) No role of the same team | ↑ Table of Contents ↑ | §2.1.2.(c) Base class decapsulation >> |