请问面向对象编程和面向过程编程的函数调用有什么应用上的不同呢?
发布网友
发布时间:2022-04-23 15:24
我来回答
共2个回答
热心网友
时间:2023-10-07 00:45
来,我是自学的,对这种问题比较有理解,因为自学时,也搜索过这些问题,听他们官方大而全的解答,迷迷糊糊,听不懂,现在明白了,我以我的视角给你说说.
首先,面向对象编程,其中一定包括这面向过程编程...过程编程是最最基础,最最普遍的编程,就跟"我喝水容易,还是喝可乐容易这个蠢问题一样",可乐里面包含水,你多不会,你只要喝东西,里面就有水,你不用刻意去找,同样只要你写代码,那就有面向过程的思想
现在你懂了面向过程了,那了解下面向对象吧.其实这种思想很容易理解,那就是,把工作交给专业人士去做.
你把你的需求交给函数去做,这其实就是面向对象了,不过在c语言中,觉得这就叫面向对象了?也太low了吧,于是在java中,我们把有特定函数,特定属性的规定为类,这个类才叫对象的体现...
你懂了么?你可能会疑惑,你自己懂过程和对象的差别,你问的是两者函数调用的区别,为啥我要再给你解释下差别呢?原因就在于,我后面说的,需要这些知识做铺垫.
那么核心,有啥区别呢?我告诉你,你前面都可以不看,这句是我的核心观点,区别就是:过程编程是基石,是简单的,任何码农都会的技术,面向对象的函数是高级的,是封装的,用起来不那么简单,有一点费劲的方式.好了,说完了,有啥区别?没啥区别,都完成功能,都一样调用,可是java8最新版本,也在倡导过程编程,推出兰姆达表达式等等,为啥这么做?是说面向对象不好么?不,面向对象很好,但是他们想表达的就是,面向对象太高级了,而有些很简单的需求,并不要那么高级,基础的过程编程,就足够了,何必牛刀杀鸡?追问面向对象的基本概念我懂得,我主要想问的是如果在纯C环境下编写一个函数,里面有结构体(属性集)和一堆函数(行为集),然后在main函数里调用这个函数,算不算面向对象
追答算,不过别去较真,较真的话,对象应该拥有封装,继承,多态等众多特性,C完成不了,但是呢,面向对象是一种思想,你可以去模拟,只要有这种思想的影子在就可以,你百度,百分之九十五的人都说C不是面向对象的,是面向过程的.但是呢,以我的观点来看,面向对象始终是一个思想,不是一个切切实实的代码,java中有类,C也可以写类似的,java的类可以继承,可以多态,C也可以模拟啊,还是那句话,面向对象(思想),括号里的才重要,是一个思想,核心就是:你把专业的事细分出来,交给专业的人去做,就好了.你不用管人家内部怎么搞定的,你只需要知道,这个对象能用哪些资源完成那些事就行了,你把它需要的给他,他把你想要的给你,你们互相不影响内部运行就可以了,这样解释明白么?如果你深入学习学习对应的面向对象编程的语言,你就彻底明白为什么很多企业采用这种模式,因为它的进阶是面向接口思想,因为面向对象嘛,假如,你想计算1+1,你不需要找别人,我有一个类叫做add类,它需要两个参数,然后返回给你相加结果.但是有一天,你需求变了,你需要计算一加一,那么你只需要替换掉add为addchinese就行,因为这两个类都属于ADD接口,而你的程序中,参数写的不是add,也不是addchinese,而是ADD,所以当某一天add满足不了你了,你不用你该你的任何代码,你只需要把原来add换成addchinese就行了,因为你本来也要接受的是一个ADD接口的类,你明白了么?这就是面向对象进阶后的很多好处!!!你想学的话,我可以给你介绍介绍...多看看书,看看视频
热心网友
时间:2023-10-07 00:46
如果单纯说调用其实都一样,new一个对象在调用 如果是 static那就直接调。
问题的重点,面向对象和 面向过程区别不是在于如何调用函数。
面向对象的重点是
封装(封装方法)
继承(就是把物体归类然后分支,比如 人类是大类,你就是一个分支,我也是一个分支)
多态(父类引用指向子类对象,这是类的多态)
不难看出,你是觉得面向过程简单,反而用面向对象的思维做比较难。
这样的原因是因为在程序非常小的时候,面向过程简单。
当你进入企业,进入工作后,会有非常多非常多的功能,模块。需要分活,张三负责登录
李四负责数据操作,等等等等。这时候才会体现出面向对象的好处。
另外一点:
面向对象只是一个思想,更深入的是面向接口,然后面向组件。
请问面向对象编程和面向过程编程的函数调用有什么应用上的不同呢?
首先,面向对象编程,其中一定包括这面向过程编程...过程编程是最最基础,最最普遍的编程,就跟"我喝水容易,还是喝可乐容易这个蠢问题一样",可乐里面包含水,你多不会,你只要喝东西,里面就有水,你不用刻意去找,同样只要你写代码,那就有面向过程的思想 现在你懂了面向过程了,那了解下面向对象吧.其实这种...
面向过程和面向对象有什么区别
一、编程思想不同。1、面向过程:是一种以过程为中心的编程思想。都是以什么正在发生为主要目标进行编程。2、面向对象语言:是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。二、特点不同。1、面向过程:就是分析出解决问题所需要的步...
c++面向对象和面向过程有什么不一样?
1.1 思维方式不同:面向对象编程强调的是将数据和操作数据的方法组合在一起,以对象的形式呈现,通过对象之间的交互来完成任务。面向过程编程则更侧重于将一个问题分解成一系列步骤,通过函数的调用和流程控制来解决问题。1.2 代码组织结构不同:在面向对象编程中,代码以类(Class)和对象(Object)为...
面向过程与面向对象的区别
首段:面向过程和面向对象是两种不同的编程思想和设计理念。面向过程是一种以步骤和操作为中心的编程方式,而面向对象则更注重于对现实世界中事物的抽象和模拟。接下来,我们将详细描述这两种编程范式的区别及其应用场景。1.面向过程编程:过程为中心:面向过程编程以过程或函数为主要的构造块,通过定义一系...
面向过程与面向对象的区别具体点的
二、关注点不同 面向过程关注的是程序执行的流程,强调的是如何完成某个任务或解决某个问题。它更注重功能的实现细节,例如先做什么后做什么,以及如何存储中间结果等。而面向对象则将关注点放在了数据结构上,强调如何通过对象来模拟现实世界中的事物和行为。它更注重事物的属性和行为之间的相互作用和关联...
面向过程和面向对象的区别和联系
因此,理解这两种编程范式之间的区别和联系对于编写高质量的代码是非常重要的。总的来说,面向过程和面向对象都是编程中的重要的概念和方法。它们各有优势,并在不同的场景和环境下得到应用。了解它们的区别和联系可以帮助程序员更好地选择和使用合适的编程范式来实现特定的功能或目标。
面向对象的语言和面向过程有什么区别啊
首先,从编程思想的角度看,面向过程是以解决问题的步骤为核心,程序设计时注重一步步逻辑流程,就像编写一系列函数,每个函数负责一个步骤,调用时按顺序进行。而面向对象则完全不同,它以对象为中心,将程序视为由一组具有唯一静态类型和动态行为的对象构成,这些对象在类别层次中共享数据和操作,强调的是...
面向过程程序设计和面向对象程序设计的区别和联系分别是什么
面向过程 则注重对函数(功能模块)的应用,这些年也有一些面向函数的语言开始复苏(如F#)也可以看出,面向的重点不同,也各有领域和优点。 联系:联系其实在不同中就已经可以看到。面向对象只是将数据和函数“打包”,并记入了一些 自动判断并调用“函数”的功能。所以,面向对象也是建立在函数的基础上...
面向对象的编程和面向过程的编程有什么区别?
不同点: 1.编程模型 所有计算机均由两种元素组成:代码和数据.精确的说,有些程序是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写的. 第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码.如 C 等过程化语言...
面向对象和面向过程的区别理解
1、面向对象(Object-Oriented)和面向过程(Procedure-Oriented)是两种不同的编程范式和思维方式。2、面向过程编程是一种基于步骤和过程的编程方式。它将程序视为一系列的步骤或函数,通过依次执行这些步骤来解决问题。在面向过程编程中,数据和逻辑被分离,关注的是程序的流程控制。3、面向对象编程则以对象...