来自'Scala编程',第12章(关于特征):
双重特质有两个有趣的事情正在发生。首先是它宣布 一个超类IntQueue。该声明意味着该特征只能是 混合到一个也扩展IntQueue的类中。因此,你可以混合加倍 进入BasicIntQueue,但不进入Rational。
但我们可以让我们的类扩展任何类,然后使用'with'关键字混合特征。
答案 0 :(得分:2)
不,你不能。如果你尝试这个特性:但我们可以让我们的类扩展任何类,然后使用'with'关键字混合特征。
class X extends Rational with Doubling
您会收到错误,因为X
会有两个超类:Rational
和IntQueue
来自Doubling
。这就是本书所说的。
答案 1 :(得分:1)
从书中引用这一行:
此声明表示该特征只能是 混合到一个也扩展 IntQueue 的类中。因此,您可以混合加倍 进入 BasicIntQueue ,但不进入 Rational 。你只能将一个特征与任何其他类混合,这个类也继承了混合特征的超类。