例えば、私は私が好きな何のFooScalaでは、戻り値の型がメソッド呼び出し元の型と一致するように指定する方法がありますか?
abstract class Foo {
def f(): ??? = { ... }
}
class Bar extends Foo {
...
}
class Baz extends Foo {
...
}
と呼ばれるクラスを持っているが、それはバズで呼ばれていたときに、それはバー、およびバズで呼ばれていますバーを戻すために、Fのための方法です。 BarとBazの両方が同じコンストラクタを持っているので、新しいBar(...)か新しいBaz(...)を指定する必要があるかどうかを除いて、fのコードは同じ時間になります。新しいTypeOfWhateverClassIsCallingMe(...)を言う方法はありますか?
関連:http://stackoverflow.com/questions/13048725/type-of-this-in-scala?rq=1 – Thilo
本当に '新しいSameAsThis()'または 'this'だけを返したいですか?前者の場合、抽象ファクトリメソッドが必要であり、すべてのサブクラスに対して実装する必要があると思います。 – Thilo