クラス 'Human' -->(1..*) 'Human' を考えてみましょう。ここで、Human はスーパータイプです。「男性」、「女性」、「SociallyPathologicalMale」などのサブクラスがあるとします。基本的な関連 b/w 2 エンティティは共通のままで、サブタイプは関連の名前と制約を定義しますが、基本的な関係は依然として m:nb/w 2 です。人間の実体。例:-
'男性' -->(1:1)('妻'(関係名)) '女性'
「女性」-->(1:1)(「夫」)「男性」
'SociallyPathologicalMale'-->(1:0)('友人') '男性'
[2011 年 12 月 13 日編集] - 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
}
人間 (または他のサブクラス) で関係フィールドが再定義されているという事実は、構造的に強制可能です。つまり、サブクラスを定義している間、関係を定義することは必須です。Javaでそのような種類の構造を作成することは可能ですか?? これを簡単にできる言語は他にありますか??