什么是面向接口编程

在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。

什么是面向接口编程

一、什么是面向接口编程

在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程就是指按照这种思想来编程。

面向接口编程就是先把客户的业务逻辑线提取出来,作为接口,业务具体实现通过该接口的实现类来完成。当客户需求变化时,只需编写该业务逻辑的新的实现类,通过更改配置文件(例如Spring框架)中该接口的实现类就可以完成需求,不需要改写现有代码,减少对系统的影响。

二、面向接口编程的优点

(1)降低程序的耦合性。

其能够最大限度的解耦,所谓解耦既是解耦合的意思,它和耦合相对。耦合就是联系,耦合越强,联系越紧密。

在程序中紧密的联系并不是一件好的事情,因为两种事物之间联系越紧密,你更换其中之一的难度就越大,
扩展功能和debug的难度也就越大。

(2)易于程序的扩展和维护


延伸阅读

interface的特性

1. 接口中的方法可以有参数列表和返回类型,但不能有任何方法体。

2. 接口中可以包含字段,但是会被隐式的声明为static和final。

3. 接口中的字段只是被存储在该接口的静态存储区域内,而不属于该接口。

4. 接口中的方法可以被声明为public或不声明,但结果都会按照public类型处理。

5. 当实现一个接口时,需要将被定义的方法声明为public类型的,否则为默认访问类型,Java编译器不允许这种情况。

6. 如果没有实现接口中所有方法,那么创建的仍然是一个接口。

7. 扩展一个接口来生成新的接口应使用关键字extends,实现一个接口使用implements。

文章标题:什么是面向接口编程,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/62245

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年7月28日 下午9:26
下一篇 2023年7月28日 下午9:52

相关推荐

  • 服务器为什么大多选择Linux系统

    服务器为什么大多选择Linux系统:1、自由开源;2、稳定性和安全性;3、高度形式化;4、性能和速度;5、可定制性。Linux 是开源的,任何人都可以查看其源代码并进行修改。这意味着用户可以免费获取操作系统,自由分发和修改它。 一、自由开源 Linux 是开源的,任何人都可以查看其源代码并进行修改。…

    2023年6月3日
    48300
  • oa网络办公

    OA系统的三大主旨:提升工作效率、优化流程管理、增强团队协作。 OA(Office Automation)网络办公革新了企业内部通讯、协作与管理流程。针对效率提升,OA系统通过集成电子邮件、即时通讯和任务管理等功能,减少了物理文件的传递时间,加速信息流转,显著提高工作速度。优化流程方面,OA系统以电…

    2024年1月16日
    23200
  • 什么是内存泄漏,内存溢出

    内存泄漏和内存溢出是软件开发中的常见问题,但两者有本质的区别。内存泄漏是程序在不再需要某些已分配的内存时未能释放它,而内存溢出则是程序尝试使用超过可用内存的空间。这两者都会影响程序的性能和稳定性。本文旨在详细解释这两种现象,它们的成因、诊断方式以及如何预防。 1. 内存泄漏的基本介绍 内存泄漏是一种…

    2023年7月13日
    45100
  • 数控编程系统下载什么

    下载数控编程系统应重视性能兼容性、用户友好性、编程效能三大要素。 其中,性能兼容性是首要考虑因素。这是因为数控编程系统必须与机床设备兼容,支持不同的数控语言和指令,以保证编程的顺利进行和程序的顺利执行。性能兼容性良好的系统能够支持广泛的机床设备,无论是旧型号还是最新型号,都能提供良好的支持,从而极大…

    2024年4月26日
    2500
  • 小孩什么时候开学学编程

    小孩什么时候开学编程 7岁和10岁是理想的开始学习编程的年龄,但10岁更为推荐,因为在这个年龄段,孩子们通常拥有更强的逻辑思维能力和问题解决技能。此外,他们在阅读和数学上的基础也相对更扎实,能够更好地理解编程概念。此时,孩子们已经具备接受稍微复杂概念的能力,这可以帮助他们在编程学习过程中,更深入地理…

    2024年4月27日
    2300
  • 软件编程学什么软件

    开头段落: 选择编程学习软件首先取决于两个核心因素:1、个人的学习目标;2、所追求的编程语言。对于初学者而言,集成开发环境(IDE) 是一个不错的起点,如Visual Studio Code或PyCharm,它们提供了诸多方便编程的强大工具和扩展插件。特别的,Visual Studio Code因其…

    2024年4月25日
    4700
  • 网页游戏用什么编程

    摘要 网页游戏通常使用HTML5、CSS3、JavaScript作为编程基础。其中,JavaScript 因其强大的交互功能和高兼容性,成为开发网页游戏的中心。以JavaScript为基础,可以利用其与HTML5的元素结合,创造出丰富的图形和动画效果。正因为如此,JavaScript不仅简化了游戏开…

    2024年4月26日
    2700
  • 触摸屏程序编程界面是什么

    触摸屏程序编程界面是1、一套允许开发者构建和管理触摸屏应用的软件工具集合,2、可通过它定义用户与应用之间交互的方式。其中,对于开发者而言,最核心的便是它提供了一种机制,使得开发者能够捕捉到用户的触摸输入,进而对这些输入进行逻辑处理。这不仅涉及到基本的触摸事件,如点击、双击、滑动等,还包括更高级的手势…

    2024年4月27日
    2400
  • 计算机编程前端叫什么

    计算机编程的前端通常称为前端开发,它主要包括网页或应用界面的设计与实现。前端开发着重于用户能直接接触到的部分,即用户界面(UI)和用户体验(UX)的构建。前端开发者使用HTML、CSS和JavaScript等技术,确保网站或应用在不同的设备和浏览器上都能正确显示并且交互性良好。 展开来说,前端开发是…

    2024年4月27日
    1500
  • 麦咭编程是什么

    麦咭编程是一款专注于儿童和青少年编程教育的平台,面向3-18岁孩子,旨在通过趣味性的编程课程,培养孩子们的逻辑思维能力、创造力和问题解决能力。其中,麦咭编程以图形化编程语言Scratch为起点,引导孩子以游戏和动画项目的形式初步了解编程世界,逐步过渡到Python、Java等高级编程语言,帮助孩子建…

    2024年4月25日
    3400

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部