代码改变世界

C#关于类抽象类和接口之间的关系(Abstract)(Interface)

2010-04-06 21:39  小sa  阅读(407)  评论(0编辑  收藏  举报


 

类Class

抽象类(abstract class)

接口(Interface)

方法实现

既可以实现,也可以不实现

不可以实现

不实现

成员变量

实例化

可以

不可以

不可以

继承

可以继承一个类,多个接口

可以继承一个类,多个接口

可以继承多个接口(合并)

成员函数

有未实现的成员函数

未实现的成员函数

抽象

 

是特征的抽象

是行为的抽象









  接口(interface)是抽象类的变体.接口中,所有的方法都是抽象的.多继承性可以通过实现这样的接口而获得.接口中的所有方法都是抽象的,没有一个有程序题,接口只可以定义static final成员变量.接口的实现于子类类似,除了该实现类不能从接口定义中继承行为.当类实现特殊的接口是,他定义所有这种接口的方法.然后,他可以在实现了该接口的类的任何对象上调用接口的方法.由于抽象类,他允许使用接口作为引用变量类型.

  抽象类声明一些方法而不去实现的类叫做抽象类(abstractclass),它主要是用来创建一些基本行为的类并为给类声明方法,但不能给他创建实例.可以创建变量并且让他指向具体的子类的一个实例.不能由抽象构造函数或抽象静态方法.Abstract 类的子为他们父类中的所有抽象方法提供实现,否则他们也是抽象类.子类中实现该抽象方法.知道其行为的其他类可以在类中实现这些方法.