我试图弄清楚所有特征,比如Seq
、Iterable
、Traverable
和TraversableLike
是如何协同工作的。
当我尝试在UML类图中绘制它们之间的关系时,我慢慢地得到了一个蜘蛛网图。
例如,scala.collection.immutable.Seq
为什么要继承自scala.collection.generic.GenericTraversableTemplate
,即使它已经从其父级scala.collection.immutable.Iterable
继承了该特征?
集合API似乎充满了重复的继承,这让我觉得我可能还没有理解某些东西...
谢谢, Ant