小编Trp*_*Trp的帖子

特质抽象方法

如何使用需要存在的抽象方法定义特征,即使它可以具有不同的参数.我只想确保扩展特征的类具有方法和相同的返回类型.下面的示例(主要是说明性的)重载"添加"并给出需要定义"添加"的错误.我该如何更改Trait中的方法声明?

不幸的是,所有答案都不起作用.我不确定我是否清楚,但我不希望定义/检查的参数中有任何已定义的类型(任何,泛型,类型定义),因为它的类型和参数的数量可以改变,在我的返回的情况可能相同.我只是想要检查是否存在具有相同名称和返回的方法而忽略参数."任何"都不是替代品,因为它不是类型安全的,我想清楚地定义函数作为参数的期望.

例:

trait X{
  def add: Boolean
}

class Y extends X {
  def add(i: Int, s: String) : Boolean = {...}
}

class W extends X {
  def add(i: Int, y: Int, w: Set[String]) : Boolean = {...}
}
Run Code Online (Sandbox Code Playgroud)

scala

4
推荐指数
1
解决办法
697
查看次数

标签 统计

scala ×1