Ich habe eine Eigenschaft "Foo" mit einigen Methoden. Ich möchte dieses Merkmal zu jeder Klasse mischen. Aber ich mag nicht etwas schreiben wollenHinzufügen einer spezifischen Eigenschaft zu einer Klasse zur Laufzeit
val b = new Bar with Foo
Ich brauche so etwas wie, wo gebe ich nur eine Klasse, und es wird mit Foo gemischt. Ich möchte mit dieser Eigenschaft nur mischen, d. H. Es ist festgelegt, dass alle Klassen nur mit der Foo-Eigenschaft gemischt werden sollen.
val b = new Factory(Bar) //Factory returns instance with trait Foo
Ich fand diese post, aber ich bin nicht überzeugt.
So etwas ist in scala möglich?
Übergeben Sie in diesem Fabrikbeispiel die _type_ 'Bar' oder eine _instance_ von' Bar'? Wenn Letzteres nicht möglich ist, sind implizite Conversions in der Regel ausreichend. –
als eine Art 'Bar' –