java 面向接口编程,好处在哪

java 面向接口编程,好处在哪,第1张

好处:

接口和实现分离了,适于团队的协作开发。

更具体的优点:可以参看IDP原则。

J2EE中的API规范基本上都是接口,由各应用服务器来实现,比如:WebSphere按照这个接口实现自己的,WebLogic也按照这个接口实现自己的,作为开发者来说我们根本就不用去管谁是怎样实现的,只要按照J2EE的API

来写就可以了,根本用不着导入它们的实现包,实际上具体的是由它们自身完成了。

接口说白了,也就是定死了一个框,具体的是糊红纸还是糊黑纸我们都用不着去管的,我们只要知道它是个框,提供

了哪些方法就够了。举

个简单的JDBC的例子吧,比如有个BaseDao接口,现在有MySQLDao实现了一个(我们可以把具体的实现类配在配置

文件中,再通过反射进行实例化),也就类似这样的:

BaseDao dao = (BaseDao)(Class.forName(Config.getDaoName()).newInstance())

.其中Config.getDaoName()可以获得配置文件中的配置,比如是:com.bao.dao.impl.MySQLDao。

要改用Oracle了,这样我们只要按BaseDao的定义,再实现一个OracleDao就可以了,

再将配置文件中的配置改为:com.bao.dao.impl.OralceDao就可以了,而在已经写好的代码中,我们可以一行不

改的进行了数据库移植,这个就是面向对象设计原则中的“开-闭原则”(对增加是开放的,对修改是封闭的)

但这只是理论上的,现实中很难做到的。

不知道怎么给你说清楚

形象一点,c语言是面向过程编程,就是按程序执行的顺序编

而c++和java都是面向对象编程,他们把变量和方法都封装到类里面,通过对象执行程序

但是c++中的类是可以继承的,而JAVA的不能继承,只能通过实现接口来完成类似于c++继承的功能,从这个角度看java是面向接口编程

通过接口来调用一个类及其方法,而不是直接建立类实体来调用类。

比如将来你要把这个被调用的类换成一个别的实现类时,你就不用去把调用过它的类一个个改掉了,因为它们调的是接口,接口没变,在配置里把接口的实现类换成新的类,就全部都替换掉了

这就是解耦,提高可维护性

interface 动物 {

void 叫()

}

class 狗 implements 动物 {

void 叫() {

System.out.println("汪")

}

}

class 猫 implements 动物 {

void 叫() {

System.out.println("喵")

}

}

class test{

private 动物 我的宠物

public static void main() {

我的宠物.叫()

}

}

现在你可以把我的宠物随便换成狗类或猫类都行了,main方法不用改。

针对实现编程就是

new 狗()

狗.叫()

换了猫再改一次main方法


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/427423.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-26
下一篇2023-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存