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

接口和抽象类区别

时间:2015-10-23 18:16:00      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

  以前自己一直分不清抽象类和接口的区别,当然语法上的区别看了语法大家都懂,但是在真正使用的时候,你可以确定使用接口还是抽象类么?个人觉得这由一下几个方面决定:

  ①面向对象思想(对事物的认知和分类)

  ②站在思想的层面上区分接口和抽象类(本质)

  ③业务上的续需求

  首先来说第一点,面向对象的思想(对事物的认知和分类)。就比如说:奥迪,你认为它是一辆汽车;波音飞机,你认为它是一架飞机;如果现在有一辆像龙珠里面的那种会飞的车,就叫飞车吧。那你认为它是数据汽车还是飞机呢?其实这并没有确切的答案,根据具体业务,对业务或者架构上更加方便就怎么分,不同的分类可能就会得出不同的结果。(具体代码例子再补上)

 

  然后是第二点,要从本质上区别接口和抽象类。抽象类是属于类,是对同一类事物的抽象,它侧重的是属性,“a 属于 A”的概念。而接口是对行为的抽象,并非是要属于同一类事物,就像人会动,汽车也会动,则可以把“动”抽象出来作为接口,是“A 可以 a行为”的概念。(具体代码例子再补上)

 

  最后是第三点,业务上的需求,这一点其实并非是接口和抽象类的区别,只是用于在实践中辅助决定使用接口还是使用抽象类。接口是相对固定不变的,而抽象类是可多变的的。(具体代码例子再补上)

 

  

接口和抽象类区别

标签:

原文地址:http://www.cnblogs.com/ismallboy/p/4904813.html

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