抽象类与接口的比较

摘自于<<c#本质论>>

抽象类:

1)不能被实例化,构造器不能被调用,只能派生于这个类的子类可以实例化和调用构造器.

2)定义了基类必须实现的抽象成员签名,和实现的部分成员.

3)可以包含存储在字段中的数据.

4)允许包含virtual 成员,为派生类提供一个默认的实现.

5)继承的派生类不能再继承其他类(除了接口)

 

接口:

1) 不能被实利.

2)所有成员必须都要在基类中实现.

3)可以声明字段,属性,方法,但不可以包含数据和实现.

4)所有成员不能用virtual修饰,已经是virtual类型了.

5)派生类可以实现多个接口.

 

 

posted @ 2012-12-27 15:28  x4646  阅读(120)  评论(0编辑  收藏  举报