Scala 为什么';t mutable.IndexedSeqLike扩展mutable.SeqLike?
就我所见,如果Scala 为什么';t mutable.IndexedSeqLike扩展mutable.SeqLike?,scala,scala-collections,Scala,Scala Collections,就我所见,如果mutable.IndexedSeqLikeextendedmutable.SeqLike,则不会发生声明冲突。缺乏继承是增量设计的产物,还是实际的决定?可能是前者,当Vector成为IndexedSeq时 SeqLike是为修补而创建的 恰好IndexedSeqLike比SeqLike具有更少的抽象方法,因为迭代是根据索引定义的。因此,没有动机扩展它 添加了SeqLike.transform方法,这样就不必统一接口 与*类似的特性仅仅是实现模板collection.Indexed
mutable.IndexedSeqLike
extendedmutable.SeqLike
,则不会发生声明冲突。缺乏继承是增量设计的产物,还是实际的决定?可能是前者,当Vector
成为IndexedSeq
时
SeqLike
是为修补而创建的
恰好IndexedSeqLike
比SeqLike
具有更少的抽象方法,因为迭代是根据索引定义的。因此,没有动机扩展它
添加了SeqLike.transform
方法,这样就不必统一接口
与*类似的特性仅仅是实现模板collection.IndexedSeqLike
确实继承了collection.SeqLike
的行为
不要不必要地扩展特性的一个原因是,它可能会改变线性化顺序,即使所有实际的具体实现都混合在特性中