您的位置:首页 > 其它

设计:基类还是接口

2011-12-28 21:01 176 查看
一个类应设计成基类还是接口,考虑以下主要原因:

1 IS-A 还是CAN-DO关系:类型只能继承一个实现,如果派生类不具有与基类的is-a(属于)关系,则应用接口,接口意味着can-do(能做)关系。如果多种对象都具有can-do功能,则应设计为接口。 由于值类型只能从System.ValueType类型派生,所以它们不能从一个任意的蕨类派生,这种情况下下要使用接口

2 易于使用,派生类能具有基类的所有功能,而要实现接口则必须实现接口的所有成员

3一致性的实现 不管一个接口文档规范有多好,都无法保证后续的开发能百分百实现它。如果为一个基类型提供一个良好的的默认实现,那么一开始使用时就是一个能正常工作并进行良好测试的类型,以后只要按需求修改便可。

4版本控制 向基类添加一个方法,派生类将继承该方法,用户的源代码无需重新编译, 要是向一个接口添加一个新成员,会强迫接口的继承者更改其源代码并重新编译。

以上内容摘自 CLR Via(c#) 第三版

http;//www.itiask.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: