私は初心者のJavaの背景から来たScalaを初めて使いました。Scala:クラス型パラメータが抽象サブクラスを継承しています
私は抽象サブクラスBuilderを持つクラスArbitrageを持っています。 Arbitrageの型パラメータで抽象サブクラスを拡張したいと思います。
例:
abstract class Arbitrage[T <: Builder[T]] {
// lots of code
abstract class Builder[T]{
// build pattern code
}
}
しかし、これはコンパイルされませんし、IntelliJのは、それがビルダー 『「シンボルを解決できない』ことを私に知らせ、私は
class Arbitrage[T <: Ordered[T]]
にクラス署名を変更する場合、それがコンパイルされます。ので、私はそれは、視認性の問題だかなり確信しています。
よろしく
これで何をしようとしていますか? –
@ m-zさて、抽象クラス裁定とサブクラスBuilderは、アービトラージを拡張するさまざまなクラスのフォーマットです。 SpacialArbitrage、MergerArbitrage、BondArbitrageと呼ぶことにしましょう。 これらはすべてアービトラージュを拡張し、それぞれのビルダーはアービトラージのビルダーを拡張するので、書きやすくなります。 「ビルダー」は、あなたが推測するように、Java Builderパターンに従っています。 – sudom82