MathUtil adlı bir yardımcı program sınıfım var.Scala Sabit 0 ile sayısal başlat
ve buna benzer.
abstract class MathUtil(T:Numeric){
def nextNumber(value:T)
def result():T
}
Ben herhangi bir sayısal tahmin ediyorum 0'a Özetle başlatmak zorunda, ben
private var sum:T = 0
Şimdi deyimi ile ilgili bir sorun bu şekilde
class SumUtil[T:Numeric] extends MathUtil[T]{
private var sum:T = 0
override def nextNumber(value:T){
sum = sum + value
}
override def result():T = sum
}
alt sınıf Lets 0 temsil etmek için bir yol var. Bu sorunu nasıl çözebilirim? Eğer +
kullanabilirsiniz bu durumda Numeric.Implicits._
içe sürece de, plus
yöntemi için örnek ihtiyaç
class SumUtil[T: Numeric] extends MathUtil[T] {
private var sum: T = implicitly[Numeric[T]].zero
override def nextNumber(value: T) {
sum = implicitly[Numeric[T]].plus(sum, value)
}
override def result(): T = sum
}
Not:
Yanıtlar için herkese teşekkürler. Bir takip sorumlum var. MathUtils türünde geçersiz kılınmış bir üyesi olan bir sınıfım olduğunu söyleyelim. – questionersam