码迷,mamicode.com
首页 > 其他好文 > 详细

接口和抽象类的区别

时间:2019-12-02 17:14:16      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:成员   面向接口   mda   通用   can   设计   中间   子类   实现   

一、接口和抽象类的区别?
1.通用大牛级解法
相同点:
1.都不能被直接实例化,都可以通过继承实现其抽象方法。
2.都是面向抽象编程的技术基础,实现诸多模式
3.在中间语言看它们都是类
不同点:
1.接口可以多继承,抽象类不能实现多继承。
2.接口只能定义抽象规则,抽象类既能定义抽象规则也能提供已实现的成员
3.接口是一组行为规范,抽象类是一个不完全的类,着重于族的概念
4接口支持回调,抽象类不能实现回调,因为继承不支持。
5接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包 含实现的方法,抽象类可以定义属性、字段、包含有实现的方法
6.接口可以作用于值类型和引用类型,抽象类只能作用于引用类型(例如:Struct只能继承接口)
7.抽象类应主要用于关系密切的对象,而接口则是适合为不相关的类提供通用功能
8.接口着重于Can—Do关系类型,抽象类则偏重于IS—A式关系。
9.接口多定义对象的行为,抽象类多定义对象的属性。
10.如果要设计小而简练的功能块,则使用接口,如果要设计大的功能单元,则使用抽象类 
11.接口对应是面向对象编程思想的重要原则:面向接口编程,
抽象类对应则是设计模式的的精髓:面向抽象编程
12.抽象类的子类继承可以推迟,而接口不可以

接口和抽象类的区别

标签:成员   面向接口   mda   通用   can   设计   中间   子类   实现   

原文地址:https://www.cnblogs.com/yinjinli/p/11971266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!