.net framework中很多地方都这样定义,如
public interface ICollection : IEnumerable { //省略 }
ICollection需要实现IEnumerable接口
public abstract class CollectionBase : IList, ICollection, IEnumerable { //.... }
不懂的地方是CollectionBase也要实现IEnumerable,ICollection不是已经定义了,为什么这里CollectionBase又定义一次
为什么这样定义??
只增不改,
对修改关闭,对添加开放。
你说的是开闭原则,貌似很我问的,没关系吧
interfac ICollection 接口虽然继承了IEnumerable 但是如果在ICollection 中添加了新的方法,而CollectionBase 需要这种反法,那么必须要从ICollection继承