C#关于类抽象类和接口之间的关系(Abstract)(Interface)
2010-04-06 21:39 小sa 阅读(407) 评论(0) 编辑 收藏 举报
|
类Class |
抽象类(abstract class) |
接口(Interface) |
方法实现 |
既可以实现,也可以不实现 |
不可以实现 |
不实现 |
成员变量 |
有 |
有 |
无 |
实例化 |
可以 |
不可以 |
不可以 |
继承 |
可以继承一个类,多个接口 |
可以继承一个类,多个接口 |
可以继承多个接口(合并) |
成员函数 |
有 |
有未实现的成员函数 |
未实现的成员函数 |
抽象 |
|
是特征的抽象 |
是行为的抽象 |
接口(interface)是抽象类的变体.接口中,所有的方法都是抽象的.多继承性可以通过实现这样的接口而获得.接口中的所有方法都是抽象的,没有一个有程序题,接口只可以定义static final成员变量.接口的实现于子类类似,除了该实现类不能从接口定义中继承行为.当类实现特殊的接口是,他定义所有这种接口的方法.然后,他可以在实现了该接口的类的任何对象上调用接口的方法.由于抽象类,他允许使用接口作为引用变量类型.
抽象类声明一些方法而不去实现的类叫做抽象类(abstractclass),它主要是用来创建一些基本行为的类并为给类声明方法,但不能给他创建实例.可以创建变量并且让他指向具体的子类的一个实例.不能由抽象构造函数或抽象静态方法.Abstract 类的子为他们父类中的所有抽象方法提供实现,否则他们也是抽象类.子类中实现该抽象方法.知道其行为的其他类可以在类中实现这些方法.