黑马程序员技术交流社区

标题: 抽象类与接口的区别 [打印本页]

作者: zhenxing133    时间: 2015-6-11 21:58
标题: 抽象类与接口的区别
说下我的理解相同点

    * 都不能被直接实例化,都可以通过继承实现其抽象方法。
    * 都是面向抽象编程的技术基础,实现了诸多的设计模式。

不同点

    * 接口支持多继承;抽象类不能实现多继承。
    * 接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。
    * 接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。
    * 接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。
    * 接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。
    * 接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。例如,Struct就可以继承接口,而不能继承类。

作者: zd12345    时间: 2015-6-11 22:15
接口中的成员全是抽象的,而抽象类中可以包含非抽象成员。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2