1
一个说我有这样一个特点:特质实现都必须实现的两种方法
trait Truthy {
def isFalse = !isTrue
def isTrue = !isFalse
}
显然,这将无限递归如果扩展特质类不实现isTrue
也不isFalse
,其中一人被调用。
我可以离开要么isTrue
或isFalse
没有默认实现,但后来我不得不挑一些实现可能有一个很自然的isTrue
实施而另一些可能有一种天然的isFalse
之一。
是否有办法强制扩展类来实现两种方法之一而不偏向其中之一?
我想这个问题是一个简化,因为简单的方法将是'最终def isFalse =!isTrue'在特质 – cchantep
这是行不通的,因为它不允许提供'isFalse'的实现一个子类。 –