08/08/11 12:46:46
>>14
基底クラスでprotected String objectName; と定義しても、
public class ClassB extends ClassA {
public String getObjectName () { return "obj b"; }
}
public class ListB extends ListA<ClassB> {
public String getObjectName () { return "obj b"; }
}
が
public class ClassB extends ClassA {
public ClassB () { objectName = "obj b"; }
}
public class ListB extends ListA<ClassB> {
public ListB () { objectName = "obj b"; }
}
になるだけで、大した違いはないように思えます。
振る舞いの違いはそれ以外にも沢山あるので継承は必須です。
> その際、リストと中身が類似じフィールドを持つのは、
> 要件によっては仕方ない。
が答えって事ですかね。