java面向对象

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

面向对象:

  我们想象一下一个人抽烟,我们想象到了香烟、人、打火机。那么人、香烟、打火机三个对象组合一下就可以完成抽烟这个场景(软件)。

  人,香烟,打火机三者之间都有自己的作用,人会抽各种烟,当然也有不会抽烟的人,我们创建出一个抽烟的场景,需要一个会抽烟的人(对象)。

  香烟:也可以分为各种香烟,红塔山、雪茄等都可以被人抽。

  打火机:会打火,有防风的、有齿轮的,都可以打火。

  这三个对象(人、香烟、打火机)之间联系并不是太紧密,但是他们都有一定的功能,这三个对象拼凑在一起就完成了(抽烟场景)(软件)。

 面向对象官方解释:面向对象是将现实的世界分隔成不同的单元,每一个单元都是一个独立的对象,给一个环境驱动一下让各个单元协作起来就形成了一个系统。这就是面向对象。

  面向对象,代码之间的耦合度弱,我没有某一个环节照样可以运行,比较灵活。

  电脑在生产时也可以看成面向对象,电脑由 显示器、鼠标、键盘、内存条组成,这几个对象拼凑起来就成电脑了,当内存条坏了之后可以再换一个内存条,不会因为一个内存条坏导致整个电脑毁灭性瘫痪。换一个内存条就好。

  集成显卡和独立显卡的区别,集成显卡是集成在电脑里面的,独立显卡是将显卡独立出来,集成显卡就好比面向过程,缺了继承显卡整个电脑就瘫痪了,也不能换。而独立显卡将显卡独立了出来,显卡坏了,换一个显卡就行,电脑还能正常运行。

面向过程:主要关注点是:实现的具体过程,因果关系。【集成显卡的开发思路】

  优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低。

  缺点:采用面向过程的方式开发很难解决非常复杂的业务逻辑。另外面向过程的方式开发导致软件的元素之间的"耦合度"非常高。

    只要其中一环出问题,整个系统受到影响,导致最终的软件扩展力差。由于没有独立体的概念,所以没有组件复用性的功能。

面向对象:主要关注点是:主要关注对象【独立体】能完成那些功能。【独立显卡的开发思路】

   优点:耦合度底、扩展力强。更容易解决而现实世界中更复杂的业务逻辑。组件复用性强。

     缺点:前期投入较高,需要进行独立体的抽取,大量的系统分析与设计。

    

c语言是纯面向过程的  c++是半面向对象的  java是纯面向对象的。

现在出现的新的变成语言多数都是面向对象的。人在认识现实世界的时候是以面向对象的方式认识的。

面向对象更符合人的思维方式。

  

原文地址:https://www.cnblogs.com/fqh123/p/12252324.html