论坛首页 Java企业应用论坛

论接口与抽象类的真正区别

浏览 7085 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2010-03-31  
接口和抽象类是不同的概念,不适合放在一起比较.
0 请登录后投票
   发表时间:2010-03-31  
角度有点意思 很轻松的解答方式
0 请登录后投票
   发表时间:2010-03-31  
godfish 写道
这应该是一个软件设计的问题,一般上业务接口都是针对interface来设计, Abstract是对接口公共部分的封装。

同意! Abstract是为了“公共部分”的封装,也就是重用;一般上业务接口都是针对interface来设计,为什么要针对接口设计呢? 就是为了解耦。
0 请登录后投票
   发表时间:2010-03-31  
接口-> 抽象类-> 一般类,反应了现实事界中从一般到特殊的关系。
要对现实世界的问题进行处理,必须进行分解。抽象是一种高超的分解方法,通过对问题进行分析、归纳、形成高层的抽象认识,把问题分解成从一般到特殊的若干层次。在java中的接口、抽象类、一般类 是为了实现这种分解办法而提供的语言要素。
0 请登录后投票
   发表时间:2010-03-31  
接口就像一个个插件,互相独立,使用者可以根据需求任意决定用谁、不用谁、用几个。
0 请登录后投票
   发表时间:2010-03-31  
gdpglc 写道
接口-> 抽象类-> 一般类,反应了现实事界中从一般到特殊的关系。
要对现实世界的问题进行处理,必须进行分解。抽象是一种高超的分解方法,通过对问题进行分析、归纳、形成高层的抽象认识,把问题分解成从一般到特殊的若干层次。在java中的接口、抽象类、一般类 是为了实现这种分解办法而提供的语言要素。


抽象的目的是什么? 把一般和特殊分开。 为什么要把一般和特殊分开? 是为了重用 一般。
0 请登录后投票
   发表时间:2010-03-31   最后修改:2010-03-31
Mybeautiful 写道
gdpglc 写道
接口-> 抽象类-> 一般类,反应了现实事界中从一般到特殊的关系。
要对现实世界的问题进行处理,必须进行分解。抽象是一种高超的分解方法,通过对问题进行分析、归纳、形成高层的抽象认识,把问题分解成从一般到特殊的若干层次。在java中的接口、抽象类、一般类 是为了实现这种分解办法而提供的语言要素。


抽象的目的是什么? 把一般和特殊分开。 为什么要把一般和特殊分开? 是为了重用 一般。

抽象的目的是为了解决问题。在需求分析中,也是要进行抽象的,而在做需求时,无所谓重不重用。
正是因为OOA中的分析方法,可以在软件中得到表达,才能实现OOA到OOD在理论上的无逢过渡。

你说的重用,只是一种编程技巧吧?
0 请登录后投票
   发表时间:2010-03-31  
关于抽象类观点基本比较统一,就是抽象某类物质的共性。

接口可以表示“契约”,但不就是契约,

还可以表示其它的,简单说 鸟类继承了 动物(抽象) 又实现了 Flyable,flyable也是契约吗?
0 请登录后投票
   发表时间:2010-03-31  
池中物 写道
关于抽象类观点基本比较统一,就是抽象某类物质的共性。

接口可以表示“契约”,但不就是契约,

还可以表示其它的,简单说 鸟类继承了 动物(抽象) 又实现了 Flyable,flyable也是契约吗?


“flyable也是契约吗?”是,你说你flyable,就一定要flyable,对使用该flyable接口的类/接口承诺了fly的能力, 这就是契约啊。
0 请登录后投票
   发表时间:2010-03-31  
单继承,抽象类要谨慎,接口优于抽象类。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics