あなたが提供したコード例は、実際にはファクトリのような動作を意味するものではありません。このクラスが抽象的であるという事実も、それほど重要ではありません。あなたの例のより具体的な実装例を次に示します。
public abstract class MyString {
private String data;
public MyString(String initialValue){
data = initialValue;
}
public void append(MyString toAppend, int appendCount){
for(int i = 0; i < appendCount; i ++){
data = data + toAppend.data;
}
}
public String toString(){
return data;
}
public abstract notRelevantMethod();
}
このクラス (上記の例とよく似ていることを願っています) では、append メソッドを使用すると、MyString で呼び出しているメソッドに MyString の別のインスタンスを渡すことができます。私の例では、append メソッドは MyString で定義された抽象メソッドを使用していませんが、可能です。その場合、通常は「テンプレート」プログラミング パターンに従っています。ただし、テンプレートを使用し、抽象型の引数を取るメソッドを持つ良い例は思いつきませんでした。