Вот моя проблема.Scala предоставляет информацию о типе в подклассах общей функции
У меня есть абстрактный класс, который определяет метод с параметрами типа как вход и выход. Я хочу, чтобы подклассы предоставляли информацию о типе при подклассе, но я хочу сделать это так, чтобы не параметризировать весь класс.
Некоторые псевдо-коды того, на что я нацеливаюсь.
abstract class A {
def foo[T](t: T): T
}
class B() extends A {
override foo[Int](t: Int): Int = t + 1
}
class C() extends A {
override foo[Double](t: Double): Double = t + 1.0
}
Как передать информацию о типе в подклассу? Я посмотрел на подобные проблемы. Они обращаются к этим типам, типам классов и абстрактным типам.
Благодаря
Если я пытаюсь работать с функцией foo извне и передать ей что-то вроде 'foo (t)' где t определяется как 'T <: A', я получаю' несоответствие типов; ожидаемый t.T; фактический T' – zaxme
Что значит «пройти снаружи»? Вы должны определить тип при создании экземпляра 'B' и' C'. –
класса 'D [Т <: А] { Защита ли (т: Т): Т = { t.foo (т) } }' – zaxme