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