现在的位置: 首页 > 综合 > 正文

C#点滴 – 抽象类与接口区别

2012年01月31日 ⁄ 综合 ⁄ 共 297字 ⁄ 字号 评论关闭

1. 抽象了除了能够定义抽象成员之外,还能提供一些成员的具体实现细节。而接口只能包含一组抽象的成员定义。

 

2. 抽象类和接口都能提供对多态的支持。区别在于,抽象类要实现多态,必须存在继承它的子类,而不能是同级别或者高一级别的类。接口支持多态,没有继承层次结构的限制。只要一组类实现了接口,这组类就体现了多态的行为。一个例子就是:System.Array,System.String没有父子关系但是他们都实现了ICloneable这个接口。

 

3. 抽象类派生类型在继承父类成员的同时必须实现抽象成员,这在某些时候子类未必有意义。而接口则可以提供更灵活的插入式处理方式:需要时,在任何继承层次中实现接口。

抱歉!评论已关闭.