用简单易懂的语言描述一下面向对象?

作者&投稿:贯喻 (若有异议请与网页底部的电邮联系)
谁可以用既幽默,又简单的语言帮我讲述一下面向对象的概念?~

面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。

谈到面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少——至少我现在还没有发现。其初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。可是,这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,object Oriented Analysis),面向对象的设计(OOD,ObjECt Oriented DESign)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)。许多有关面向对象的文章都只是讲述在面向对象的开发中所需要注意的问题或所采用的比较好的设计方法。看这些文章只有真正懂得什么是对象,什么是面向对象,才能最大程度地对自己有所裨益。这一点,恐怕对初学者甚至是从事相关工作多年的人员也会对它们的概念模糊不清。

面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
面向对象的要素

(1)抽象。
抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节。

类实现了对象的数据(即状态)和行为的抽象。

(2)封装性(信息隐藏)。
封装性是保证软件部件具有优良的模块性的基础。
面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。
对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。

(3)共享性
面向对象技术在不同级别上促进了共享
同一类中的共享。同一类中的对象有着相同数据结构。这些对象之间是结构、行为特征的共享关系。
在同一应用中共享。在同一应用的类层次结构中,存在继承关系的各相似子类中,存在数据结构和行为的继承,使各相似子类共享共同的结构和行为。使用继承来实现代码的共享,这也是面向对象的主要优点之一。
在不同应用中共享。面向对象不仅允许在同一应用中共享信息,而且为未来目标的可重用设计准备了条件。通过类库这种机制和结构来实现不同应用中的信息共享。

4.强调对象结构而不是程序结构

简单的说就是指把任何事物都当做一个对象去看待,例如,生活中用的手机,钱,等等,都可以视为一个对象!C语言是面向过程的!

C++初学者,C语言自认为学的还不错,经常写C程序,初略懂C++。

简单讲一下,我对C和C++的理解。
都说C是面向过程的,C++是面向对象的。但很多人确实很难搞懂这里面的区别。所以我准备从C和C++之间的差异来讲。
C,没什么好说的,比汇编方便,汇编都是MOV A,#30。这样的助记符加参数和地址的形式,而且汇编语言不通用,不同的CPU都有不同的汇编指令,差异很大,比如51和AVR。所以用汇编写程序,效率非常低,但是比直接写机器码好多了,毕竟机器码都是010101这样的,写错一个0或1就完蛋,汇编在这方面,还是出众的。C语言比汇编最大的好处在于,C语言的指令是通用的,数据类型都是int,char,float,这些都是不变的,不管你用DEV C++写Windows的应用程序,还是用keil u4编写51单片机的程序都是几乎一样的,函数的写法,返回值等都是一样的,不一样的,可能就是一些硬件和软件之间的差异,一般写软件,不太需要管中断等问题,操作会系统会解决,参数也是操作系统返回给你的,Windows就是典型的参数返回的方式。而51单片机涉及中断,所以在中断的函数上,会让人有点头疼,但是总体来说,程序都是一样的。C语言编程,无非两种,一种直接用main函数从头写到尾,要么分函数写,一个功能的实现,甚至一个数据的处理,都能分成模块来写。刚开始,大家一般都是第一种,不会用函数,只会用main,结果就是main函数里,无数个for循环,无数个while循环,程序一大,变量的名字就麻烦了,要么要避开重复的名字,因为C语言必须要保证变量名字的唯一性啊,然后就是一大堆的i,count这样的计数用的变量,程序没有注释,一大就完全没法看,没人知道你这个for循环是在做什么操作,为什么要这么做。最后逼迫我们学会函数和返回值的用法,把一堆的for循环和while循环的操作,放到函数里去做,并且函数里有局部变量,只有调用函数的时候,这些局部变量才有用,函数结束,这些变量就回收,让我们很舒服,函数里定义了i,只在函数里使用,另一个函数里,也可以有同样的变量i,他们不冲突,主函数压力就小了,不用为同一个类似功能的变量,起什么样的名字而发愁了,程序也好写了,因为主函数只要只要调用一系列的函数就行了,给个参数就行了,函数的名字都是有意义的英文名字或者拼音(一般不用拼音写),即便不写注释也能看懂。如果程序出了问题,只要确认哪个函数有BUG,重新检查和编写函数就行,比汇编方便多了,至于CPU汇编语言之间的差异,就交给编译器和编译器的作者来解决了,提高了效率。
现在来讨论C++和C,C++和C的区别,无非在于运算符的重载和类了,函数的重载,C++有,C没有,这是C++特性,C++的类,C里是有的,但是他们有差异。C++里叫类,C里叫结构体,当然C++里叫类,那肯定不是纯粹的搬C的特性来用啦,人家有扩展,C++的结构体,可以有函数,这是最大的特点,然后是C++的结构体里的函数和变量可以选择私有,也可以选择公开,C语言的结构体,只有变量和指针,没有函数,变量没有私有和公开的选项,或者说,只能选择公开,不能私有。当然,C语言也可以构建结构体里有函数的形式,就是把指针弄成指向函数的就行,但是一般C语言书里都不怎么讲,一般写C,也很少有人用。
那么区别大吗?可以说,C++说的面向对象,几乎等于说面向类,而C没有类,所以不面向对象,C面向函数,C++面向类,类里面有函数,变量能私有,是类的最大特点,也可以说是对象的最大特点。以前C语言,结构体弥补的是数组的缺陷,数组只能存放一队相同类型的变量,比如int[],这个数组里就全部只能是int类型的数据,不同类型的数据要分开,但是很多情况下,这不好用,比如你的数据是一个人的身高,体重,国籍,年龄等数据,你就很头疼,有int,有float,有char,他们都是分开的,存放同一个人的信息要分开放,调用的时候,要按顺序调用,很容易出错,结构就简单了,把这些信息组成一个结构体,他们可以放在一起,调用的时候,直接用名字加变量名,就行,简单方便,写起来也容易的多,基本能解决大多数问题。但是结构体的任务很单一,可以说几乎和数组的作用是一样的,就是存放数据,处理这些数据,还是要建立函数,结构体的数据可以随便调用和修改,不受限制。那么就会有问题,第一个就是函数很多,如果程序非常大,函数非常多,写主程序的,要记住大量的函数名字,不容易,还要记住这些函数是用来干嘛的,他们的数据是用的哪个结构体的数据,如果结构一多,函数成倍增加,程序就难写了,而且最大的问题是,面向结构体A的函数,一般不能用于处理结构体B里的数据吧,有的功能还类似,怎么办?功能类似,但是数据结构不一样的两个函数的名字是不能冲突的,那怎么办?加结构体的名字,用来区分是可以,但是多了就崩溃,而且处理结构体A的函数,如果写错了,调用了结构体B的数据怎么办?万一结构体B里没有这个变量的数据呢?程序会出现大量报错,头就很大了。
那怎么办呢?用C++的类啊,变量名只给自己的函数用,不给别人的函数,这样自己的变量就不会被别人修改,导致出错了,变量是私有的,只有自己的函数才能修改,保证了变量的安全性,而且函数被封装到类里,不同的类,有相同的功能的函数,也不怕了,函数受到类的限制,名字可以写一样的,因为类的不同,操作不同,不冲突,写主程序的也轻松了,函数名不用记太多了,函数名字也不怕冲突了,只要记住类的干嘛的就行了,类里面有什么功能,对应什么类内的函数就行,比直接记住函数名,调用函数,方便多了。
因为我对C++也不是很精,只能通过对C特性的对比,和写C程序遇到的一些麻烦,而C++能极大的解决以前出现的一些麻烦的角度来理解对象和过程。
个人观点,仅供参考。

对象就是一个物体或模块,面向对象就是程序设计模块化搭建,好比俄罗斯方块各种形状的物体进行组合。
而面向过程就是非模块化的设计,就好比织毛衣,从头织到尾。而织毛衣也可以面向对象,比如将完成袖子,口袋,衣领等等进行拼接成一件毛衣,这也叫面向对象。




雅思口语如何描述你最喜欢的食物
总结你的观点:最后,可以总结你的观点,强调你最喜欢的食物是什么,以及为什么你喜欢它,比如“总之,我最喜欢的食物是意大利面,因为它不仅美味可口,而且制作简单,可以加入各种不同的酱料和配菜”。在描述过程中,需要注意以下几点:语言表达清晰:要用简单易懂的语言表达自己的观点和经历。逻辑连贯:要...

结合具体作品阐述儿童诗的教育价值
儿童诗是专门为儿童写的诗歌,它的内容通常与儿童相关,用简单易懂的语言描述儿童的生活、情感、认知和价值观等方面。儿童诗不仅能够激发儿童的想象力和创造力,还能够培养儿童的语文能力、文学素养和人文情怀,具有重要的教育价值。首先,儿童诗能够激发儿童的想象力和创造力。儿童诗的内容通常与儿童的生活...

介绍一种东西的作文400字
5、使用简洁明了的语言:介绍文要使用简洁明了的语言,避免使用过于复杂的词汇和句子结构。在写作时,可以用简单易懂的语言来描述物品的特点和功能,让读者更容易理解。6、注意条理性:介绍文要注意条理性,按照一定的顺序来组织文章内容。可以按照物品的外观、特点、功能、使用方法等顺序进行描述,使文章...

如何描述一个问题的算法?
算法的描述方法如下:1、自然语言描述法:这是最直观、最常用的一种描述方法,它用人们日常使用的语言来描述算法的步骤和过程。这种方法通俗易懂,但可能会存在歧义,不够精确。流程图描述法:流程图是一种图形化的算法描述方法,它通过一系列的图形符号来表示算法的步骤和过程。2、N-S图描述法:N-S...

什么是弦理论?如何用简单易懂的语言进行解释?
由此可见,弦理论并没认识到自然界所谓的四种作用力其实是根本不存在的,它还是基于自然科学思维模式的另类理论。由于描述微观世界的量子力学与描述宏观引力的广义相对论在根本上有冲突,这意味着二者不可能都正确,它们不能完整地描述世界。弦理论会吸引这么多注意,大部分的原因是因为目前人类知识体系的匮乏...

记一次的作文怎么写
5、总结经验教训:结尾部分可以对整个事件进行总结,分享你或你的团队在这次事件中学到了什么经验教训,以及未来的打算和目标。在写作过程中,要注意以下几点:1、语言简洁明了:不要使用过于复杂的词汇或句子结构,尽量使用简单易懂的语言进行描述。2、细节描写生动:要注意细节的描写,让读者能够身临其境...

文案怎么写得简单易懂?
1、有明确的对象感 用最简单易懂的语言,文案是一种沟通形式,核心就是找到对的人用对的方式说对的话。写作是给人看的,所以一定要有自己的假想对象,感觉TA就坐在你面前,你在向TA娓娓道来你想说的。这样写出来的文案,才会有真实的画面感。2、利用形象化类比,找准用户熟知事物 人对陌生的东西会...

我最喜欢的陀螺写话怎么写
写最喜欢的陀螺的文章的写作建议:1、明确你的读者群体:在写作前,你需要明确你的读者群体是谁,是孩子、青少年还是成年人。不同的读者群体有不同的兴趣和需求,因此你需要选择与他们相关的内容和语言风格。例如,如果你的读者是孩子,你可以使用简单易懂的语言描述陀螺的外观和设计,以及你和陀螺之间的...

说明文写什么最简单
3、安排文章结构。说明文需要有一个清晰的结构,包括引言、正文和结尾。引言需要简明扼要地引入主题,正文需要详细阐述说明对象的特点、功能、使用方法等,结尾需要总结全文,强调重点和亮点。4、使用通俗易懂的语言。说明文的目的是让读者理解,因此需要使用通俗易懂的语言,避免使用过于专业或难以理解的术语。

算法的描述方法有哪几种
算法的描述方法有哪几种?算法的描述方法主要有以下几种:自然语言描述:使用自然语言来描述算法的步骤和流程,这种描述方法简单易懂,但不够严谨和规范。伪代码描述:使用类似于数学公式的符号和语言来描述算法的步骤和流程,这种描述方法较为严谨,但不太容易理解。流程图描述:使用流程图的方式来描述算法...

榕江县13246953698: 最通俗地解释面向对象 -
迪寿复方: 面向对象技术(OOT)是一种软件开发和程序设计技术.所开发的程序是面向对象程序,直接描述客观世界的对象及其相互关系.例如,银行经理、秘书、职员、顾客、帐本、打印机,直接作为对象出现的程序中.他们相互通信,完成诸如存取...

榕江县13246953698: 什么是面向对象?哪位大神来解释一下,最好通俗易懂 -
迪寿复方: 相对于c语言面向过程来对比的 面向对象的感觉类似把需要使用的功能单独编写成类(理解成功能模块也行),每个类有对象(功能模块中的各种功能),需要的时候调用,不需要的时候就闲置.

榕江县13246953698: 什么叫面向向对象啊,请用通俗语言讲 -
迪寿复方: 我来讲讲,讲得不好大家补充哈.面向对象是一种设计方法 啥叫设计方法,就是你想怎么实现一个机能的问题. 当年要求的机能简单,进去数,写好运算过程,算出结果就可以了. 这是,大家都用 "顺序"这种方法.顺序,就是像你画的流程...

榕江县13246953698: 帮我形象点讲解一下面向对象的概念 -
迪寿复方: 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解...

榕江县13246953698: 用自己的语言解释下什么是面向对象? -
迪寿复方: 面向对象就是可以看的“物体”,就是窗口.不是后运行的

榕江县13246953698: 大概说一下什么是面向对象? -
迪寿复方: 书上的一些定义你应该看过了吧.刚在网上看到两个例子,感觉很贴切,贴上来给你看看,应该很好理解了.例子1:说明:下面的”你”不特指某人 不具人身攻击 你自己和日常生活接触到的都是对象啊 你的长相”继承”了 你老爸,老妈的一...

榕江县13246953698: 谁能简单明了的给我解释一下“面向对象”的概念和作用? -
迪寿复方: 面向"对象"编程, 很重要的一点就是其中必须要意识到,对象,对象,一切万物皆为对象, 比如说具体的一个人,它也是一个对象, 这个对象有哪些特征呢?又有哪些行为呢? 对于特征: 身高,高还是矮,有多高 体重,轻不是重,有多重, 等等到, 对于行为: 能不能走路, 能不能吃饭, 能不能跑, 等等,, 根对象紧密联系在一起的是"类" 那就是某一类对象的模型,比如说汽车生产时需要的模型,它是一个抽象体,而对象是一个具体的某样东西.

榕江县13246953698: "面向对象"通俗讲是什么意思? -
迪寿复方: 面向对象其实是现实世界模型的自然延伸.现实世界中任何实体都可以看作是对象.对象之间通过消息相互作用.另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类...

榕江县13246953698: 什么是面向对象? -
迪寿复方: 一楼说的也不错.20个字,想搞定面向对象,还真有点不容易.我尽量吧 比如说:人 是一个物种,人们习惯叫“人类”,马云,你知道吧,他就是一个具体的人 面向对象就是 把 世界中所有的东西分门别类,把所有人称作 人类,把猪、狗、牛、羊 称作 动物类.这些就对应面向对象中的类,实例化出来的就是 具体的人了,比如,你,我等等 还明白了,不明白的话,留言,我一定讲的让你彻底明白面向对象的基本含义 祝你好运

榕江县13246953698: 详细说明一下面向对象,要通俗易懂的?
迪寿复方: 你是一个屠户,会杀各种动物,但杀不同的动物用的工具不同,于是你把杀猪的工具放在一个包里,把杀牛的工具放在一个包里,把杀羊的工具放在一个包里……这不同的包是类. 你要杀的动物是你的对象,你的类的目的是为处理对象. 你各个包里的工具是你类的方法,通过使用工具来杀动物就是方法的引用. 这比喻够直观了吧.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网