Posso passare argomenti al costruttore della classe Scala che non sono memorizzati nella classe stessa? voglio ottenere funzionalità, che in Java potrebbe essere scritto come segue:Parametri locali del costruttore della classe Scala
class A {
private final SomethingElse y;
public A(Something x) {
y = x.derive(this);
}
}
Vale a dire il costruttore della classe assume un parametro che viene successivamente trasformato in un altro valore usando il riferimento a this
. Il parametro viene dimenticato dopo i ritorni del costruttore.
In Scala che posso fare:
class A(x: Something) {
val y = x.derive(this)
}
ma significa che x
viene memorizzato nella classe, che voglio evitare. Poiché il metodo x.derive
utilizza il riferimento a this
, non è possibile effettuare la trasformazione nell'oggetto associato.