面向对象程序设计比传统的面向过程程序设计更有什么好处

面向对象程序设计比传统的面向过程程序设计更有什么好处,第1张

一个新的编程范式提出和流行并不见得就是各方面都强于之前的,而是因为某些特定的领域出现了一些现有的范式难以解决的问题而已。就像函数式其实非常古老了,最近突然流行起来无非是其天然适合高并发的环境罢了。

编程(程序设计)实际上是一个对现实世界中的事物抽象,并由计算机语言实现的过程

核心的步骤就包含三个:理解、抽象、实现。

不同的理解思路,会导致完全不同的抽象结果,不同的抽象结果就会提供各不同的理解。

最后根据理解和抽象,由特定的语言完成时间,但其结果要想完全理解还需要前两个步骤支撑。

有点像建筑中的“房子是什么,房地产设计,盖房子”。

面向过程的语言也称为结构化程序设计语言,是高级语言的一种,主要包括:C语言,C++,pthen,汇编语言等。

在面向过程程序设计中,问题被看作一系列需要完成的任务,函数则用于完成这些任务,解决问题的焦点集中于函数。其概念最早由E.W.Dijikstra在1965年提出,是软件发展的一个重要里程碑。它的主要观点是采用自顶向下、逐步求精的程序设计方法,使用三种基本控制结构构造程序,即任何程序都可由顺序、选择、循环三种基本控制结构构造。变量用于绑定存储器中某个存储单元,变量类型用于说明存放在该存储单元中的二进制数所表示的信息类型,如存放在某个存储单元的8位二进制数01000001,可以是整数65,也可以是字符A对应的ASCII码,甚至可以是用8位二进制数表示的一个浮点数,如果某个变量与该存储单元绑定,变量类型确定这8位二进制数所表示的信息类型。因此,高级语言中的变量具有三重属性:地址、内容和类型。类型用于说明内容所表示的信息类型。

面向对象和面向过程的区别是:

一,编程思想不同。

面向过程思想顾名思义其实就是面向解决问题的步骤进行编程。面向过程的编程思想总结起来就八个字——自顶向下,逐步细化!

面向对象思想就是分析参与问题的有哪些实体,这些实体应该有的属性和方法,通过调用这些实体的属性和方法解决问题。

二,编程过程不同。

将要实现的功能描述为一个从开始到结束按部就班的连续的步骤(过程);依次逐步完成这些步骤,如果某一步的难度较大,又可以将该步骤再次细化为若干个子步骤;面向过程,就是按照我们分析好了的步骤,按部就班的依次执行就行了。

面向对象思想就是分析参与问题的有哪些实体,这些实体应该有的属性和方法,通过调用这些实体的属性和方法解决问题。

三,编程主题不同。

面向过程程序的主体是函数,一个函数就是一个封装起来的模块,可以实现一定的功能,各个子步骤往往就是通过各个函数来完成的,从而实现代码的重用和模块化编程。所以当我们用面向过程的思想去编程或解决问题时,首先一定要把详细的实现过程弄清楚。一旦过程设计清楚,代码的实现简直轻而易举。

面向对象的主体是实体,分析哪些动作是由哪些实体发出的;定义这些实体,为其增加相应的属性和功能;让实体去执行相应的功能或动作。面向对象实质上就是面向实体,所以当我们使用面向对象进行编程时,一定要建立这样一个观念:万物皆对象!

区别: 面向对象 注重对数据的使用。试图把数据和对其的 *** 作封装在一起(类),并且尝试去自动处理一些不同的函数的调用工作(多态,重载等),以减轻对函数的依赖。面向过程 则注重对函数(功能模块)的应用,这些年也有一些面向函数的语言开始复苏(如F#)也可以看出,面向的重点不同,也各有领域和优点。联系:联系其实在不同中就已经可以看到。面向对象只是将数据和函数“打包”,并记入了一些 自动判断并调用“函数”的功能。所以,面向对象也是建立在函数的基础上,只是减弱了 开发人员对函数的依赖度,将重点转向数据。

你问的是两个层面的事情,事件驱动编程机制既可以以面向过程的程序设计方式实现,比如Windows C,也可以以面向对象的方式实现,比如Java。

面向过程程序设计方式,原理是写代码不断检查事件队列,通常代码放在具有很多的switch语句的循环体内部。

面向对象的实现方式,有多种,以Java为例,它采用事件委托模型,把事件源、事件作为对象,事件监听器作为接口,事件源有一些向其注册事件监听器的方法。原理是,当某个事件源(例如按钮)产生事件时,事件源想为事件(如点击事件)注册的所有事件监听器对象发送一个通告。程序主要在事件监听器的代码里面写逻辑。

面向对象和面向过程的简单解释:

面向过程:和你谈业务。把所有的事情都谈妥了,开始做项目。一整套项目做下来了,有需求要变。还得整个改变。

面向对象:边做业务,边谈需求,这样就能够避免上面的问题

面向过程编程实际上就是将一个程序要实现的功能分解为一系列的一步骤,这些步骤在分解,递归下去直到你能用函数容易实现这个步骤为止,然后从下往上,高层次的步骤由低层次的步骤组装,直到实现整个程序的功能。面向过程可以认为是一种算法分解。

面向对象编程则是将一个程序的功能分派给一系列对象去完成,然后这些对象在分解,直到你能容易实现对象为止,然后这些对象相互协作实现了程序的功能。程序中的每个对象有自己的状态和行为,具有一定的工作能力。面向对象的一个重要方面就是去描述对象,以及他们之间的关系。对象之间有的对象具有共同属性和行为,这些共性我们通过类来描述(抽象和封装),然而不同类之间也有一定的相似,这时我们通过基类来描述这些类的共性(继承),然而即使具有相同的行为,不同对象具体的行为方式也可能不同,这时我们在基类中使用虚函数来描述这种差异(多态)。有的对象是作为其他的一部分存在,这时我们将这个对象作为其他对象的类的成员变量来描述(组合和聚合)。

这大概就是区别了。

面向对象的思维我们日常生活就在使用。

例如考虑汽车的制造:

如果你讲汽车的制造看做是一系列工序,那么你用的思维就是面向过程的;如果你将汽车的制造看做是一台台机器人相互协作的过程,那你用的就是面向对象思维了。

以上就是关于面向对象程序设计比传统的面向过程程序设计更有什么好处全部的内容,包括:面向对象程序设计比传统的面向过程程序设计更有什么好处、面向过程语言有哪几种、面向对象和面向过程的区别是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9352848.html

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

发表评论

登录后才能评论

评论列表(0条)

保存