为了
sealed trait User {...}
sealed trait Trader extends User {...}
trait AuthObject
trait AuthUserObject {
def authorize[U <: User](u: U): Boolean
}
trait AuthTraderObject extends AuthUserObject {
def authorize[T <: Trader](t: T): Boolean
}
object HasPaidTax extends AuthTraderObject {
def authorize[T <: Trader](t: T): Boolean = t.hasPaidTax
}
这不成立。错误:
错误:(15, 7) 在 [U <: users.User](u: U)Boolean 类型的 trait AuthUserObject 中覆盖方法授权;方法授权具有不兼容的类型 def authorize[T <: Trader](t: T): Boolean ^
我需要限制AuthTraderObject
用户Trader
,因为只有交易者纳税。请问,这种覆盖怎么可能?