相关疑难解决方法(0)

Scala:抽象类型与泛型

我正在阅读斯卡拉之旅:抽象类型.什么时候使用抽象类型更好?

例如,

abstract class Buffer {
  type T
  val element: T
}
Run Code Online (Sandbox Code Playgroud)

而是那些泛型,例如,

abstract class Buffer[T] {
  val element: T
}
Run Code Online (Sandbox Code Playgroud)

generics scala abstract-type

243
推荐指数
3
解决办法
3万
查看次数

泛型类型如何与 Scala 中的继承一起工作?

我试图了解泛型如何与 Scala 中的继承一起工作。我有以下代码:

sealed trait Model {}
case class Model1() extends Model
case class Model2() extends Model

trait Repo[A <: Model] {
  def doSomething(model: A)
}
class Repo1 extends Repo[Model1] {
  override def doSomething(model: Model1): Unit = {
    println("Model 1")
  }
}
class Repo2 extends Repo[Model2] {
  override def doSomething(model: Model2): Unit = {
    println("Model 2")
  }
}

object Play extends App {
  def getModel(i: Int): Model =
    i match {
      case 1 => Model1()
      case 2 => Model2()
      case …
Run Code Online (Sandbox Code Playgroud)

scala

0
推荐指数
1
解决办法
124
查看次数

标签 统计

scala ×2

abstract-type ×1

generics ×1