让我们考虑一个类 'Human' -->(1..*) 'Human' ,其中 Human 是一个超类型。假设它有像'Male','Female','SociallyPathologicalMale'等子类。基本关联b / w 2实体仍然常见,子类型定义名称和关联的约束,但基本关系仍然是m:nb / w 2人类实体。例子:-
'男' -->(1:1)('妻子'(关系名)) '女'
'女'-->(1:1)('老公') '男'
'SociallyPathologicalMale'-->(1:0)('friends') 'Male'
[编辑 13/12/2011] - 如果说我们必须在 java 中实现它,那么有哪些最佳实践可以使关联重用成为可能?
假设我们从基类开始:-
class Human{
private List<Human> relationships; // in a subclass this field, could
// this generically be represented ??
}
就像是
class Man extends Human{
private List<Woman> relationships;//should be 0 or 1
}
现在,在 Man(或任何其他子类)中重新定义关系字段这一事实可以在结构上强制执行,即在定义任何子类时,我应该强制定义关系。java中的这种构造是否可能?有没有其他语言可以轻松做到这一点?