У меня есть какая-то проблема, чтобы найти информацию о моей проблеме в scala, peraphs, вы можете помочь мне найти хорошее решение, или хорошие веб / книжные ресурсы?
У меня есть один основной абстрактный класс 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]
}
Моя проблема здесь, я не могу переопределитьМетод работать (..) с другим типом возвращаемого значения, когда я пытаюсь инстанцировать этот абстрактный класс, этот код не работает.
У меня уже есть несколько строк кода, которые используют метод мутации opera (), который возвращает уникальный геном G ... Могу ли я сохранить эту структуру ООП, используя оболочку, промежуточный объект для захвата моего генома, иОбойти эту проблему также с общей структурой?
Большое спасибо за ваши огни, SR.