3
我有一些問題找到關於我的問題在斯卡拉oop信息,peraphs你可以幫我找到一個好的解決方案,或良好的網絡/書資源?通過在scala中返回類型覆蓋方法,oop解決方案?
我有一個主要的抽象類Operator
:
abstract class Operator[G <: AbstractGenome, F <: GenomeFactory[G]] {
implicit val factory: F
def operate (genomes: IndexedSeq[G])
}
和另外兩名繼承抽象類:
abstract class Mutation [G <: AbstractGenome, F <: GenomeFactory [G]]
extends Operator [G, F] {
override def operate (genomes: IndexedSeq[G]):G
}
abstract class CrossOver [G <: AbstractGenome, F <: GenomeFactory [G]]
extends Operator [G, F] {
override def operate (genomes: IndexedSeq[G]) (implicit aprng : Random):IndexedSeq[G]
}
我的問題就在這裏,我不能覆蓋的方法進行操作(..)不同返回類型時,我試圖instancite這些抽象類,此代碼不起作用。
我已經有多行代碼,它使用返回一個獨特的Genome G的變異操作()方法...我可以保存這個OOP結構通過使用包裝,一箇中間對象來捕捉我的基因組,並繞過此還有一個通用結構的問題?
非常感謝您的燈光, SR。