abstract class and interface

抽象类和接口的区别:

相同点:抽象类和接口都是引用类型,并且都不能进行实例化

异同点:

1、抽象类主要描述的是类型的所属关系,而接口主要描述的是类型的行为规范或行为合同,即内部包含的方法可以做什么等等。

2、抽象类只能是单继承,而一个类可以一次实现多个接口的。

3、抽象类和派生类之间是 IS-A的关系,而接口和实现接口的类型之间是CAN-DO的关系。

---------------------

另外针对接口多说几句:

接口一般在C#声明中是要加PUBLIC访问控制符的,默认为保护,在后期继承类中使用可能会出现问题,

而接口里的成员则可以忽略访问控制符。

另外接口类可以定义属性 如:

 1 public interface AnonymousInterface
 2 {
 3   //属性
 4    int Num
 5     {getset;
 6      }
 7   //索引器
 8    int this[int index]{get;set;}
 9   //事件
10    event EventHandler Click;
11 //此处事件本质不是成员,是两个方法。
12 //但是接口中不能有构造器,不能包含字段,静态字段,静态方法,
13 }

 

 

posted on 2012-04-02 14:09  无下雨  阅读(191)  评论(0编辑  收藏  举报