一个关于接口的问题 2005-08-17 TAxxjszxlkjf 小弟我初学java,学到接口的时候遇到困难,体会不到接口存在 的真正意义,哪位大虾可以举一两个接口的具体实例,体现一下 使用接口的优越性及其存在的真正意义小弟在此万分感谢。(我看书上的例子即使不 使用接口也可以呀)
gaofangjian 2005-08-18 08:25 我感觉在程序中多用接口可以使你的应用程序易于扩展,定义一个统一的接口后,你就可以用很多具有不同功能的类来实现这一接口。我感觉接口主要是对业务逻辑的抽象。比如 interface 卖东西 { 检查库存(); 计算价格(); 开发票(); 更新库存(); }下面当你实现这个借口的时候,你就可以根据具体需求来实现。比如 汽车 卖汽车 implement 卖东西 { 检查库存(){看看库存有没有汽车} 计算价格(){根据具体的算法计算汽车价格} 。。。。 还可以加入类的自己的特有的方法 } 蔬菜 卖蔬菜 implement 卖东西 { 检查库存(){看看还有没有菜} 。。。。。 }当用到这些实现类的时候,我们根据具体的情况,选择具体对象使用 class 超市 { 卖东西 sale= 卖东西工厂.create("汽车"); 卖东西 sale1=卖东西工厂.create("蔬菜"); /*当卖东西内的逻辑关系变化时候,就不会影响到超市 如果把代码都写到超市里面,就完蛋了,那样的话更改 就很痛苦。 而如果利用接口实现的话,我们改动接口实现类即可(有可能这个更改是别人,比如利用的提供的现有的组件。 */ } 我只是一个rookie,希望banq能够指点一下,帮助一个java的狂热粉丝
banq 2005-08-22 11:36 你理解很对,接口其实主要是对自身没有太多益处,主要解决与调用者的解耦关系,如果没有接口,就是类直接调用类,这样类和类耦合了,而使用接口,则类-->接口-->类,甚至是类直接调用接口:类-->接口,类如使用jdon框架就可实现类-->接口,无需关系接口的具体实现。
awardsure 2005-08-27 17:08 接口可是java的灵魂啊。 首先java不像c++没有多继承 但是 面向对象 要多态啊。 如果没有interface那多态不能实现。 再次,假设你的应用程序除了一些不变类用classs而其它都使用interace在工作的话 那可以这么说 如果在业务逻辑没有发生变化的情况之下 可以实现无需重新编译就可以轻轻松松完成升级(特别是在数据库移植情况下有用)。