模块化编程与面向对象程序设计的区别与联系是什么

区别是:模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,通过模块的互相协作完成整个功能的程序设计方法。而面向对象程序设计作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。

模块化编程

模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法。

在设计较复杂的程序时,一般采用自顶向下的方法,将问题划分为几个部分,各个部分再进行细化,直到分解为较好解决问题为止。模块化设计,简单地说就是程序的编写不是一开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。

利用函数,不仅可以实现程序的模块化,使得程序设计更加简单和直观,从而提高了程序的易读性和可维护性,而且还可以把程序中经常用到的一些计算或操作编写成通用函数,以供随时调用。

面向对象程序设计

面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。

面向对象程序设计(Object Oriented Programming,OOP)是一种计算机编程架构。OOP的一条基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。OOP=对象+类+继承+多态+消息,其中核心概念是类和对象。

面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象。

面向对象程序设计以对象为核心,该方法认为程序由一系列对象组成。类是对现实世界的抽象,包括表示静态属性的数据和对数据的操作,对象是类的实例化。对象间通过消息传递相互通信,来模拟现实世界中不同实体间的联系。在面向对象的程序设计中,对象是组成程序的基本模块。

延伸阅读:

面向对象程序设计的原理

面向对象技术是对计算机的结构化方法的深入、发展和补充,在保障进行良好的计算机软件的需求设计的同时,也需要尽可能实现利用低成本来开发出高质量的应用软件的目标。消息是传递一个对象与另一个对象之间的信息,实现两者进行通信的桥梁,消息链负责指定功能无条件的执行,而计算机软件的主程序则负责对消息进行筛选(哪些可以接受、可以执行,哪些则需要摒弃,不可带入),软件开发主要由以下几个方面组成,分别为需求定义、制定计划、软件的功能设计、软件的功能实现、验证和确认,这五个方面是最基本的环节,缺一不可。

文章标题:模块化编程与面向对象程序设计的区别与联系是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38851

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月20日 上午12:24
下一篇 2023年2月20日 上午12:26

相关推荐

  • 需求优先级排序方法、依据、以及工具是什么

    排列优先级是对需求进行排序以确定它们对于相关方的相对重要性。优先级排序的依据有:1、收益;2、惩罚;3、成本;4、风险;5、依赖关系;6、时间敏感性;7、稳定性;8、监管或政策合规,其中针对变革的宗旨和目标进行衡量的实施需求能够为相关方所带来的好处。 一、什么是需求优先级排序,目的是什么? 排列优先…

    2022年11月21日
    47500
  • 端口和网关到底有什么区别

    区别:端口是设备与外界通讯交流的出口。可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。网关又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。 端口 “端口”是英文port的意译,…

    2023年2月14日
    35000
  • 项目计划和软件开发计划的区别

    区有别:一、目的不同;二、开发周期不同:三、风险管理不同;四、团队组成不同;五、交付方式不同。目的不同是指,软件产品开发的目的是生产一种通用的软件产品,而项目开发是为特定客户或特定应用开发一种定制化的软件解决方案。 一、目的不同 软件产品开发的目的是生产一种通用的软件产品,该产品能够满足不同客户的需…

    2023年4月29日
    5300
  • 为什么公司企业有okr绩效管理

    公司企业有okr绩效管理的原因有:一、OKR是管理发展的必然趋势,是最前沿的管理技术;二、VUCA时代市场复杂多变,OKR是组织应对的最佳模式;三、员工结构变化导致需求调整,OKR是管理输出的最佳方法;四、“有过程才有结果”,持续绩效管理是组织的标配。 一、OKR是管理发展的必然趋势,是最前沿的管理…

    2023年4月27日
    2500
  • 强化学习中,确定性策略和随机策略的区别是什么

    强化学习中,确定性策略和随机策略的区别是:1、定义和特点;2、应用场景;3、学习和优化;4、探索和利用。确定性策略是指代理在特定状态下只选择一个确定的行动。即在给定状态下,策略总是选择相同的行动。 一、定义和特点 确定性策略:确定性策略是指代理在特定状态下只选择一个确定的行动。即在给定状态下,策略总…

    2023年7月30日
    9500
  • 为什么Dropbox等大型服务使用Python作为主要语言

    Dropbox是一个大型服务,使用Python作为主要语言,这是因为Python具有很多优点:一、高级语言;二、解释型语言;三、可移植性;四、面向对象;五、强大的功能;六、开源;七、可扩展性和可扩充性;八、可嵌入性;九、丰富的库;十、规范的代码。 一、高级语言 Python是一种高级语言,因此在使用…

    2023年4月13日
    11200
  • Oracle里面!=和<>有什么区别

    都是表示不等于的意思,但是按照标准来说,oracle建议使用<>。这两种语法效果是一样的,Oracle都支持。但是<>是ANSI 99 SQL标准,所有的数据库都支持,!=只有部分数据库都支持,所以为了可移植性建议使用<>。 都是表示不等于的意思,但是按照标准来说,oracle建议使用<>。类似的还…

    2023年5月31日
    11800
  • 开源软件和其他类型的软件有什么区别

    开源软件与闭源或专有软件之间的三个主要区别如下:1、可靠性;2、安全性;3、许可;可靠性是指专有软件依赖于单个组织或开发人员控制代码,以保持更新,确保无错误和正常工作。安全是指任何源代码都可能存在安全漏洞,使其容易受到网络攻击。但是,开源软件具有修复速度更快的优势。 有时,创建软件的企业或个人出于商…

    2022年11月8日
    23700
  • 进度管理包括哪些内容

    进度管理包括两大部分的内容:1、施工前进度管理;2、施工过程中的进度管理。项目进度管理,是指采用科学的方法确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、费用目标协调的基础上,实现工期目标。 1、施工前进度管理 (1)确定进度管理的工作内容和特点,分析在项目过程中可能会出现的风险,…

    2022年11月30日
    21100
  • 线上文档怎么做

    做线上文档软件有:一、word文档编辑;二、Office文档编辑;三、腾讯文档;四、石墨文档;五、讯飞文档。word文档编辑这款应用比较适合目前大多数的办公用户,即使是没使用过的用户也可以通过基础入门教程来完成word编辑的学习。 一、word文档编辑 word文档编辑这款应用比较适合目前大多数的办…

    2023年4月24日
    9500

发表回复

登录后才能评论
联系我们
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部