クラス自体に格納されていない引数をScalaクラスコンストラクターに渡すことはできますか?Javaで次のように記述できる機能を実現したいと思います。
class A {
private final SomethingElse y;
public A(Something x) {
y = x.derive(this);
}
}
つまり、クラスコンストラクターはパラメーターを受け取ります。このパラメーターは、後で。への参照を使用して別の値に変換されthis
ます。コンストラクターが戻った後、パラメーターは忘れられます。
Scalaで私ができること:
class A(x: Something) {
val y = x.derive(this)
}
しかし、それはx
私が避けたいクラスに保存されていることを意味します。x.derive
メソッドはへの参照を使用するためthis
、コンパニオンオブジェクトで変換を行うことはできません。