首页编程java编程什么是java面向接口编程?关于什么叫面向接口编程

什么是java面向接口编程?关于什么叫面向接口编程

编程之家 2023-10-14 105次浏览

老铁们,大家好,相信还有很多朋友对于什么是java面向接口编程和关于什么叫面向接口编程的相关问题不太懂,没关系,今天就由我来为大家分享分享什么是java面向接口编程以及关于什么叫面向接口编程的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

什么是java面向接口编程?关于什么叫面向接口编程

关于什么叫面向接口编程

在一个面向对象的系统中系统的各种功能是由许许多多的不同对象协作完成的在这种情况下各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了而各个对象之间的协作关系则成为系统设计的关键小到不同类之间的通信大到各模块之间的交互在系统设计之初都是要着重考虑的这也是系统设计的主要工作内容面向接口编程我想就是指按照这种思想来编程吧!实际上在日常工作中你已经按照接口编程了只不过如果你没有这方面的意识那么你只是在被动的实现这一思想表现在频繁的抱怨别人改的代码影响了你(接口没有设计到)表现在某个模块的改动引起其他模块的大规模调整(模块接口没有很好的设计)等等

Booch先生那天谈到Interaction Designer它就是指做这类设计的人只不过层次更高一些我想目前我们的软件设计队伍中这类人是最缺乏的人才之一

非接口编程?是不是就是面向过程的编程思想?

什么是java面向接口编程?关于什么叫面向接口编程

关于接口的理解

什么是java面向接口编程?关于什么叫面向接口编程

接口从更深层次的理解应是定义(规范约束)与实现(名实分离的原则)的分离

我们在一般实现一个系统的时候通常是将定义与实现合为一体不加分离的我认为最为理解的系统设计规范应是所有的定义与实现分离尽管这可能对系统中的某些情况有点繁烦

接口的本身反映了系统设计人员对系统的抽象理解

接口应有两类第一类是对一个体的抽象它可对应为一个抽象体(abstract class)

第二类是对一个体某一方面的抽象即形成一个抽象面(interface)

一个体有可能有多个抽象面

抽象体与抽象面是有区别的

设计接口的另一个不可忽视的因素是接口所处的环境(context environment)系统论的观点环境是系统要素所处的空间与外部影响因素的总和任何接口都是在一定的环境中产生的因此环境的定义及环境的变化对接口的影响是不容忽视的脱离原先的环境所有的接口将失去原有的意义

按照组件的开发模型( C)它们三者相辅相成各司一面浑然一体缺一不可

面向对象是指我们考虑问题时以对象为单位考虑它的属性及方法

面向过程是指我们考虑问题时以一个具体的流程(事务过程)为单位考虑它的实现

接口设计与非接口设计是针对复用技术而言的与面向对象(过程)不是一个问题

我认为 UML里面所说的interface是协议的另一种说法并不是指的interface CORBA的interface Java的interface Delphi的interface人机界面的interface或NIC的interface

在具体实现中是可以把UML的interface实现为语言的interface分布式对象环境的interface或其它什么interface但就理解UML的interface而言指的是系统每部分的实现和实现之间通过interface所确定的协议来共同工作

所以我认为面向interface编程原意是指面向抽象协议编程实现者在实现时要严格按协议来办也就是Bill Joy同志说的一边翻rfc一边写代码的意思面向对象编程是指面向抽象和具象抽象和具象是矛盾的统一体不可能只有抽象没有具象一般懂得抽象的人都明白这个道理但有的人只知具象却不知抽象为何物

所以只有interface没有实现或只有实现而没有interface者是没有用的反OO的

所以还是老老实实面向对象编程面向协议编程或者什么都不面向老老实实编程

lishixinzhi/Article/program/Java/JSP/201311/19221

什么是面向接口编程

在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你没有这方面的意识,那么你只是在被动的实现这一思想;表现在频繁的抱怨别人改的代码影响了你(接口没有设计到),表现在某个模块的改动引起其他模块的大规模调整(模块接口没有很好的设计)等等。 Booch先生那天谈到Interaction Designer,它就是指做这类设计的人,只不过层次更高一些。我想目前我们的软件设计队伍中,这类人是最缺乏的人才之一。 1.关于接口的理解。接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。接口的本身反映了系统设计人员对系统的抽象理解。接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class);第二类是对一个体某一方面的抽象,即形成一个抽象面(interface);一个体有可能有多个抽象面。抽象体与抽象面是有区别的。 2.设计接口的另一个不可忽视的因素是接口所处的环境(context,environment),系统论的观点:环境是系统要素所处的空间与外部影响因素的总和。任何接口都是在一定的环境中产生的。因此环境的定义及环境的变化对接口的影响是不容忽视的,脱离原先的环境,所有的接口将失去原有的意义。 3.按照组件的开发模型(3C),它们三者相辅相成,各司一面,浑然一体,缺一不可。面向对象是指,我们考虑问题时,以对象为单位,考虑它的属性及方法面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现接口设计与非接口设计是针对复用技术而言的,与面向对象(过程)不是一个问题我认为:UML里面所说的interface是协议的另一种说法。并不是指com的interface,CORBA的interface,

java面向接口编程思想

面向接口编程的意思是指在面向对象的系统中所有的类或者模块之间的交互是由接口完成的。

概念是用来高度概括的,关键是理解意思。解释如下:

A s=new B;

在内存堆中创建一个B对象,在内存栈中创建一个引用A,A指向B。用A中的s.print()方法去调用B中的同名方法,这当然是正确的,因为B类实现了A接口。

所谓的面向接口编程可以降低程序之间的耦合度,是指在具体的调用处都是接口进行的,并不依赖于具体类,在A s= new B;中,B可以被任意实现了接口A的其他类替换掉。

在spring的IOC中面向接口编程降低了类之间的耦合度得到了很好的体现,建议你顺便去学习一下,可以加深你的理解。

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

好处:

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

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

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

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

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

了哪些方法就够了。举

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

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

BaseDaodao=(BaseDao)(Class.forName(Config.getDaoName()).newInstance());

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

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

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

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

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

关于本次什么是java面向接口编程和关于什么叫面向接口编程的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

sciencedirect数据库(sciencedirect数据库的截词功能) 什么是java软件工程师(java软件工程师是什么)