面向过程

面向过程是一种以过程为中心的编程思想。

通过分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向过程编程思想的核心:功能分解,自顶向下,逐层细化(程序=数据结构+算法)。

面向过程编程语言存在的主要缺点是不符合人的思维习惯

,而是要用计算机的思维方式去处理问题,而且面向过程编程语言重用性低,维护困难。

面向对象

面向对象编程(Object-Oriented Programming)简称 OOP 技术,是开发计算机应用程序的一种新方法、新思想。过去的面向过程编程常常会导致所有的代码都包含在几个模块中,使程序难以阅读和维护。在做一些修改时常常牵一动百,使以后的开发和维护难以为继。而使用 OOP 技术,常常要使用许多代码模块,每个模块都只提供特定的功能,它们是彼此独立的,这样就增大了代码重用的几率,更加有利于软件的开发、维护和升级。

在面向对象中,算法与数据结构被看做是一个整体,称作对象,现实世界中任何类的对象都具有一定的属性和操作,也总能用数据结构与算法两者合一地来描述,所以可以用下面的等式来定义对象和程序:

对象 = 算法 + 数据结构

程序 = 对象 + 对象 + ……

从上面的等式可以看出,程序就是许多对象在计算机中相继表现自己,而对象则是一个个程序实体。

面向对象编程思想的核心:应对变化,提高复用。

转载于:https://www.cnblogs.com/mmc9527/p/10429269.html

面向对象 VS 面向过程相关推荐

  1. 面向对象与面向过程区别

    面向对象:用线性的思维.与面向过程相辅相成.在软件开发过程中,宏观上,用面向对象来把握事物间复杂的关系,分析系统.微观上,仍然使用面向过程. "面向过程"是一种是事件为中心的编程思 ...

  2. 面向对象编程(一)——面向对象和面向过程

    面向对象(Object Oriented),通过对象来封装我们的数据.(组织代码,封装数据) 面向对象和面向过程: 面向过程:procedure oriented programming,POP 面向 ...

  3. python面向对象和面向过程的区别_Python11-01_面向对象----面向对象和面向过程的区别...

    面向对象编程 面向对象(OPP)编程思想主要针对大型软件设计而来的.面向对象编程使程序的扩展性更加强,可读性更好.使得编程可以像搭积木一样简单. 面向对象编程将数据和操作数据的方法封装到对象中,组织代 ...

  4. 面向对象和面向过程,python中的类class,python中程序的入口——main方法,

    1.程序入口,让main显现出来: print(__name__)#__name___是模块中的隐藏字段,当前模块运行的函数名 if __name__ == __main__ __main__() # ...

  5. 详解:面向对象与面向过程的比较 类之间的关系:泛化、实现、依赖、关联、聚合、组合

    文章目录 1.面向对象程序设计概述 1.1 面向对象程序设计 1.2 传统结构化程序设计 1.3 面向对象与面向过程举例 2.类之间的关系 2.1 泛化/继承 2.2 实现 2.3 依赖 2.4 关联 ...

  6. 面向对象与面向过程在软件开发中的应用

    今天设计一个功能模块,深入进去后突然对面向对象和面向过程有了些认识.赶紧记下来以免忘了. 在设计和开发一个软件或是功能的时候,眼光或是站的位置决定了你对软件的理解程度.如果你 以软件的设计者的角度你会 ...

  7. python 递归函数_Python尚学堂高淇|P82P86面向对象和面向过程的区别LEGB规则nonlocal_global递归函数阶乘计算案例...

    P82-递归函数-阶乘计算案例 #使用递归函数计算阶乘def factorial(n):if n==1:return 1else:return n*factorial(n-1)result=facto ...

  8. 面向对象和面向过程的区别个人觉得是目前解释最好的

    面向对象 首先,一言不和先百度,得到如下定义: 一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类.继承,帮助人们实现对现实世界的抽象与数字建模. 我们知道,编写 ...

  9. 编程思想:面向对象和面向过程

    何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中.我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起,最后可能也只会说出一句就是那样啦,你知道啦 ...

  10. Java面向对象和面向过程有什么区别?网友:傻傻分不清楚……

    面向对象,Obeject Oriented,是一种编程术语.面向对象是当今软件开发方法的主流方法之一,他是把数据以及对数据的操作放在一起,作为一个相互依存的整体,就是我们所说的对象.对同类对象抽象出其 ...

最新文章

  1. Pandas Cheat Sheet
  2. ng: Can't bind to 'ngModel' since it isn't a known property of 'input'. - Angular 6
  3. JavaScript原生添加移除class的方法
  4. C#.net实现密码加密算法的语句
  5. SVN与TortoiseSVN实战:冲突详解(一)
  6. win10下用ffmpeg推流拉流
  7. 基于cat12和SPM12进行大脑VBM数据分析笔记2——统计分析
  8. 单片机---HLK-W801移植Nes模拟器(一)
  9. 富有哲理的10则故事(必读经典)
  10. 数据库查询时报IllegalArgumentException异常是什么原因?
  11. 除权除息,前复权,后复权,不复权
  12. Mac下安装Mavenidea配置maven
  13. html实现安卓手机重启,这12行代码分分钟让你电脑崩溃手机重启
  14. python boxplot的使用方法
  15. Forethought Future Cup - Elimination Round G. Zoning Restrictions 最大流(最小割)
  16. 【SDUT第11周周赛Problem A】SDUT2576——Queen Collisions
  17. 手把手教你SSM整合开发办公系统(OA)——报销单(含源码)
  18. 基于Android Tiny4412平台---敦泰I2C接口FT5X06电容屏驱动原理及软件架构分析
  19. R语言实现聚类kmeans
  20. VS2022配置GDAL

热门文章

  1. 收藏 | 机器学习中常用的5种回归损失函数
  2. Github | 深度学习研究大咖有哪些?
  3. 带你自学Python系列(十五):Python中类的用法(一)
  4. 中nextint函数_Kotlin中的作用域方法(Scope Function)
  5. HTML中制作循环广告条,一种循环展示广告的广告箱的制作方法
  6. java 的进程_windows 启动停止 java进程
  7. php 获取mysql大小限制_php计算整个mysql数据库大小的方法
  8. linux磁盘划分注意,划分磁盘阵列注意问题
  9. MacBook 没有响应的应用程序 CUH
  10. 偶搜集到的源码列表如下,跟大家分享分享。