什么是面向对象(面向对象到底什么意思)

一、什么是面向对象,什么是面向过程

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

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

1.什么是面向对象技术?

面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。它具有抽象性、封装性、继承性及多态性。

2.面向对象与面向过程程序设计有什么不同?

面向对象与面向过程程序设计有如下不同:

(1)面向过程程序设计方法采用函数(或过程)来描述对数据的操作,但又将函数与其操作的数据分离开来;面向对象程序设计方法将数据和对数据的操作封装在一起,作为一个整体来处理。函数与数据是否分离

(2)面向过程程序设计方法以功能为中心来设计功能模块,难于维护;而面向对象程序设计方法以数据为中心来描述系统,数据相对于功能而言具有较强的稳定性,因此更易于维护。

(3)面向过程程序的控制流程由程序中预定顺序来决定;面向对象程序的控制流程由运行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际需要。预定顺序;由运行时各种事件的实际发生来触发

(4)面向对象程序设计方法可以利用框架产品(如MFC,Microsoft Foundation Classes)进行编程。面向对象可利用框架面向对象和面向过程的根本差别,在于封装之后,面向对象提供了面向过程不具备的各种特性,最主要的,就是继承和多态。

3.面向对象技术有哪些优点?

面向对象技术具有程序结构清晰,自动生成程序框架,实现简单,可有效地减少程序的维护工作量,代码重用率高,软件开发效率高等优点。 4.面向对象技术中的封装性有何优缺点?如何克服这些缺点?

封装将对象有关的数据和行为封装成整体来处理,使得对象以外的部分不能随意存取对象的内部属性,从而有效地避免了外部错误对它的影响,大大减小了查错和排错的难度。另一方面,当进行修改对象内部时,由于只有少量的外部接口对外提供服务,因此同样减小了内部的修改对外部的影响。如果一味地强调封装,对象的任何属性都不允许外部直接存取,则要增加许多没有其他意义、只负责读或写的行为。这会为编程工作增加负担,增加运行开销,并且使程序显得臃肿。为了避免这一点,在程序的具体实现过程中应使对象有不同程度的可见性,进而与客观世界的具体情况相符合。

面向对象的特点是:封装,多态,继承。其中多态有分为重载和重写。面向对象的编程思想更加接近现实的事物。有这样几点好处:

1、是编程更加容易。因为面向对象更接近于现实,所以你可以从现实的东西出发,进行适当的抽象。

2、在软件工程上,面向对象可以使工程更加模块化,实现更低的耦合和更高的内聚。

3、在设计模式上(似乎只有面向对象才设计到设计模式),面向对象可以更好的实现开-闭原则。也使代码更易阅读。相对而言,面向过程的程序设计是面向对象程序设计的基础。面向对象的程序里面一定会有面向过程的程序片断的

5.为什么要应用继承机制?客观事物既有共性,也有特性。如果只考虑事物的共性,而不考虑事物的特性,就不能反映出客观世界中事物之间的层次关系。抽象机制是考虑事物的共性,继承机制是考虑事物的特性,这样才能完整地描述客观世界的层次关系。继承能使软件模块具有可重用性、独立性,缩短软件开发周期,提高软件开发效率,同时使软件易于维护。

6.C++对多态性的支持体现在哪些方面?

C++的多态性分为编译时多态和运行时多态。编译时多态是指在程序的编译阶段由编译系统根据参数确定与哪个同名的函数相联系;运行时多态是指在程序的运行阶段才根据产生的信息确定需要调用哪个同名的函数。C++通过函数重载和运算符重载实现编译时多态,通过继承和虚函数来实现运行时多态。

7.目前常用的面向对象程序设计语言有何异同?目前常用的面向对象程序设计语言有C++、Java、Visual Basic等。C++是混合型面向对象程序设计语言,继承并改进了C语言,是一种既支持面向对象又支持面向过程的程序设计方法。Java是纯面向对象程序设计语言,从C++发展而来。C++和Java均支持面向对象技术的基本概念和基本特征,如封装、类、构造函数、析构函数、继承、多态等。 C++与Java语法描述有相同之处,也有不同之处。如基本结构语句的语法大致相同,而类定义的语法等方面则不相同。

此外还有以下不同:

(1)C++有运算符重载机制,而Java没有此特性;

(2)C++支持多重继承,而Java只支持单重继承;

(3)C++通过构造函数创建对象,可以直接使用指针来操作对象的成员,而Java通过new运算符创建对象,通过new运算符返回的对象引用来使用对象,而不是直接操作指针;

(4)C++程序要显式地释放所分配的内存,而Java具有内存垃圾收集机制,自动管理内存,不需要显式释放所分配的内存。 Visual Basic继承了BASIC语言所具有的语法简单、容易学习、容易使用、数据处理能力强的特点,又引入了面向对象、事件驱动的编程机制和可视化程序设计方法,大大降低了开发Windows应用程序的难度,有效地提高了应用程序开发的效率。但是,Visual Basic存在语法不严格、开发出的系统稳定性较低的缺点。相对C++来说,Visual Basic面向系统底层的编程能力有限

二、在C语言中,什么叫做面向对象,什么叫做面向过程

面向对象和面向过程都是编程思想,分别以对象和过程为主要目标进行编程。

1、面向对象:面向对象(ObjectOriented)是一种软件开发方法。ObjectOriented的概念和应用已经超越了编程和软件开发。面向对象是一种理解和抽象现实世界的方法。它是计算机编程技术发展的产物。

2、面向过程:面向过程(Procedure Oriented)是一种以过程为中心的编程思想。面向过程都是以正在发生的过程为主要目标进行编程,与面向对象明显的不同就是封装、继承、类。

扩展资料:

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

1、分析问题方式的不同:

面向过程是分析解决问题所需的步骤,然后使用函数逐步实现这些步骤,使用时一个接一个。

面向对象是将问题事务分解为各种对象。对象的建立不是为了完成一个步骤,而是为了描述一个事物在解决问题的整个过程中的行为。

2、解决问题的方法的不同:

面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。

对比面向过程,面向对象的方法主要是把事物给对象化,对象包括属性与行为。当程序规模不是很大时,面向过程的方法还会体现出一种优势。

参考资料来源:百度百科-面向对象

参考资料来源:百度百科-面向过程

三、面向对象到底什么意思

世界上有loli控,御姐控,女王控,所以有句话就叫万物皆可控

面向对象也是一样,万物皆对象

对象这个词你可以理解为一个总称,比如男人女人都叫人,蜡烛皮鞭高跟鞋都是道具,所以面向对象原本的意思是“都叫对象”,翻译过来不是原汁原味了而已因此,房子是对象、飞机是对象、猫是对象、树是对象、女朋友也是对象,并且对象具有唯一性:你家的房子是你家的,不是我家的,你在国外看到的美女不是我在国内看到的美女,你的身份证号和我的身份证号不一样

那么一个房子里都有啥呢,有电脑,还有动作片光盘、战争片录像带、人体艺术杂志……现在这些“包含”在房子里的东西就不是东西了,而是叫做“属性”……

对象、属性都有了,剩下就是方法了方法也很好理解啊,意思就是你想要得到某种结果,就需要用特定的方法比如你女朋友生气了要哄吧,不高兴了要逗她开心吧,“哄”和“逗”这些就是让女朋友死心塌地的方法……诸如此类,发现一个美眉要用“追”这个方法,和女朋友逛街上碰到美女要用“窥”这个方法,恋爱都要用“谈”这个方法……

——对象就是一个概念,把所有的事物都称作为“对象”(没有不是对象的东西)——属性就是该事物的组成部分,所有可以被包含的部分都称为“属性”(没有不含属性的对象)——方法就是达成目标的途径,所有可行性的行为都成为方法(没有不存在方法的对象和属性,但是可以选择使用哪些方法)

所以在设计时要建立正确的对象:咱要找的是MM,不是恐龙,你建立芙蓉姐姐这个“对象”就很明显不是正常人了决定正确的对象了之后,要搞清她的脾性爱好——该对象的属性是:身高165cm,体重45kg,三围84cm、66cm、86cm,单身然后你要用正确的方法来追求,聊天(参数是时尚、美容等等……),看电影(爱情片、恐怖片、韩国泡菜),送花(3朵、11朵、999朵)

现在该明确对象、属性、方法的定义了吧

然后就是封装、继承、多态

封装就是要保护好女朋友,不能被别人勾引过去,因为要让她“只能”听信你得花言巧语,没追到手前不要介绍给别人的帅哥,所以自己的老婆是自己的,不能给别人,这就是“私有性封装”再比如,你的账户——这个对象,有钱——这个属性你中彩票1个亿,亲朋好友都找你们借钱,你们觉得亲戚里道的,借就借呗,这钱就是“局部性封装”要是中彩票100个亿,满大街撒钱,这就是“全局性封装”——封装就是决定该对象的使用范围,当然,你要让我帮你花我也不介意效劳的

继承,你的家产如果不捐献的话,那么你的儿子是自然继承人,这叫单重继承,你7、8个子女分家产,这叫多重继承……并且,如果不把意外伤害受益人写成别人的,别人是不能继承的……——继承就是决定该对象的属性、方法可以被哪个对象使用

多态,比如说你擅长做中餐,你儿子擅长做西餐,你女儿擅长做点心,现在你有一个铁哥们上你家串门吃饭,他使用吃饭这个方法——你家.吃饭(中餐),就能尝到猪肉炖粉条,使用——你家.吃饭(西餐)就能吃到牛排,使——用你家.吃饭(点心)就能尝到面点,这就是“吃饭”这个方法的多态性,因为不能限制吃饭只能吃一种东西啊,如同开门可以用钥匙,也可以划卡,还可以遥控等等——多态就是同一种方法的不同运作方式

哈哈,过年心情好,不知不觉写这么多字~~嗯,嗯,很有成就感~~

如果你还想了解更多这方面的信息,记得收藏关注本站。

猜你喜欢