Ich bin neu in Scala, von einem Anfänger Java-Hintergrund, so bitte bitte mit mir.Scala: Klasse Typ Parameter erweitert abstrakte Unterklasse
Ich habe eine Klasse, Arbitrage, mit einer abstrakten Unterklasse Builder. Ich möchte, dass der Tybyparameter von Arbitrage die abstrakte Unterklasse erweitert.
Ex:
abstract class Arbitrage[T <: Builder[T]] {
// lots of code
abstract class Builder[T]{
// build pattern code
}
}
Dies gilt jedoch nicht kompilieren, und IntelliJ sagt mir, dass es Builder „Can not Symbol auflösen "" Wenn ich die Klasse Signatur
class Arbitrage[T <: Ordered[T]]
ändern dann kompiliert. , so bin ich ziemlich sicher, dass es mit Sicht ein Problem ist.
Grüße
Was versuchen Sie damit? –
@ m-z In Ordnung, also die abstrakte Klasse Arbitrage, und seine Unterklasse Builder sind ein Format für eine Vielzahl von Klassen, die Arbitrage erweitern. nennen wir sie SpacialArbitrage, MergerAribitrage und BondArbitrage. Sie alle werden Arbitrage erweitern und ihre jeweiligen Erbauer werden Arbitrages Erbauer erweitern, also sind sie einfacher zu schreiben. Die "Builder" folgen, wie Sie vielleicht vermuten, dem Java Builder-Muster. – sudom82