改进C#代码之22:通过定义并实现接口替代继承

 

    1. 基类描述并实现了一组相关类型间共用的行为。接口则定义了一组具有原子性的功能,供其他不相关的具体类型来实现。二者均有其用武之地,但用处各有不同。接口是一种按契约设计的方式:一个实现了某个接口的类型,必须提供接口中约定的方法实现。抽象基类则为一组相关的类型提供了一个共用的抽象。使用类层次来定义相关的类型,用接口暴露功能,并可让不同的类型实现这些接口。

 

    2. 有时候,使用接口还可以帮助我们避免struct类型拆箱所带来的代价。当我们将struct装箱时,该装箱对象实际上支持struct支持的所有接口。当通过接口指针来访问该struct时,我们不必拆箱即可访问到内部的数据。

posted on 2011-08-12 16:23  酸甜西瓜  阅读(351)  评论(0编辑  收藏  举报