锁定老帖子 主题:论接口与抽象类的真正区别
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-31
接口和抽象类是不同的概念,不适合放在一起比较.
|
|
返回顶楼 | |
发表时间:2010-03-31
角度有点意思 很轻松的解答方式
|
|
返回顶楼 | |
发表时间:2010-03-31
godfish 写道 这应该是一个软件设计的问题,一般上业务接口都是针对interface来设计, Abstract是对接口公共部分的封装。
同意! Abstract是为了“公共部分”的封装,也就是重用;一般上业务接口都是针对interface来设计,为什么要针对接口设计呢? 就是为了解耦。 |
|
返回顶楼 | |
发表时间:2010-03-31
接口-> 抽象类-> 一般类,反应了现实事界中从一般到特殊的关系。
要对现实世界的问题进行处理,必须进行分解。抽象是一种高超的分解方法,通过对问题进行分析、归纳、形成高层的抽象认识,把问题分解成从一般到特殊的若干层次。在java中的接口、抽象类、一般类 是为了实现这种分解办法而提供的语言要素。 |
|
返回顶楼 | |
发表时间:2010-03-31
接口就像一个个插件,互相独立,使用者可以根据需求任意决定用谁、不用谁、用几个。
|
|
返回顶楼 | |
发表时间:2010-03-31
gdpglc 写道 接口-> 抽象类-> 一般类,反应了现实事界中从一般到特殊的关系。
要对现实世界的问题进行处理,必须进行分解。抽象是一种高超的分解方法,通过对问题进行分析、归纳、形成高层的抽象认识,把问题分解成从一般到特殊的若干层次。在java中的接口、抽象类、一般类 是为了实现这种分解办法而提供的语言要素。 抽象的目的是什么? 把一般和特殊分开。 为什么要把一般和特殊分开? 是为了重用 一般。 |
|
返回顶楼 | |
发表时间:2010-03-31
最后修改:2010-03-31
Mybeautiful 写道 gdpglc 写道 接口-> 抽象类-> 一般类,反应了现实事界中从一般到特殊的关系。
要对现实世界的问题进行处理,必须进行分解。抽象是一种高超的分解方法,通过对问题进行分析、归纳、形成高层的抽象认识,把问题分解成从一般到特殊的若干层次。在java中的接口、抽象类、一般类 是为了实现这种分解办法而提供的语言要素。 抽象的目的是什么? 把一般和特殊分开。 为什么要把一般和特殊分开? 是为了重用 一般。 抽象的目的是为了解决问题。在需求分析中,也是要进行抽象的,而在做需求时,无所谓重不重用。 正是因为OOA中的分析方法,可以在软件中得到表达,才能实现OOA到OOD在理论上的无逢过渡。 你说的重用,只是一种编程技巧吧? |
|
返回顶楼 | |
发表时间:2010-03-31
关于抽象类观点基本比较统一,就是抽象某类物质的共性。
接口可以表示“契约”,但不就是契约, 还可以表示其它的,简单说 鸟类继承了 动物(抽象) 又实现了 Flyable,flyable也是契约吗? |
|
返回顶楼 | |
发表时间:2010-03-31
池中物 写道 关于抽象类观点基本比较统一,就是抽象某类物质的共性。
接口可以表示“契约”,但不就是契约, 还可以表示其它的,简单说 鸟类继承了 动物(抽象) 又实现了 Flyable,flyable也是契约吗? “flyable也是契约吗?”是,你说你flyable,就一定要flyable,对使用该flyable接口的类/接口承诺了fly的能力, 这就是契约啊。 |
|
返回顶楼 | |
发表时间:2010-03-31
单继承,抽象类要谨慎,接口优于抽象类。
|
|
返回顶楼 | |