首页 > 代码库 > Java学习(一)--面向对象(一)

Java学习(一)--面向对象(一)

       面向对象的思想一直指导者我们软件的分析、设计与开发。java语言是一种面向对象的语言,在学习java之前,先回顾一下面向过程和面向对象。

一面向过程

        面向过程主张按功能来划分系统需求,每个功能都负责对数据进行一次处理,每个功能都接受一些数据。它最小的单位是函数,每个函数负责完成一个功能,整个系统由一个个函数组成,其中有一个主函数,作为程序的入口,主函数依次调用其他普通函数,普通函数之间依次调用,从而完成整个软件系统的功能,其实就是主函数负责把系统中的所有函数“串起来”。


从上面的图中我们不难发现面向过程的设计是自顶向下的逐层设计,在设计阶段就需要考虑每个模块应该分解为那些子模块,每个子模块有分解为那些更小的模块,直达模块细化到一个函数。每个函数的存在都是为了实现上一层的函数。

       试想一下,如果客户需求改变,那我们就要真对这个功能从上到下逐层对需要改变的地方进行修改。从这里不难看它的可扩展性不强,所以它的维护成本相当的高。

二面向对象

它是一种更优秀的程序设计的方法,基本思想是使用类、对象、继承、封装、消息等基本概念来实现程序设计。它是在处理问题时,从该问题所存在的事物本身出发,逐步认识事物的属性和行为特征。它比较接近人类的思维方式。

三比较面向过程、基于对象和面向对象。

       面向过程:

 就是说你对面坐的都是一一个的过程/函数/功能,它们的对面也都是函数。在面向过程里,函数最大,一切以函数为中心,若干的函数模块构成了整个的函数系统。

       基于对象:

基于对象没有继承和多态,基于对象是在已有对象的基础之上的,它把其他语言创建的对象统一起来,形成一个对象体系。基于对象语言的存在是借助其他语言存在的。比如javascript语言就是基于对象的,它使用一些封装好的对象,调用对象的方法,也可以设置对象的属性,但是无法派生新类,我们使用现有的对象的方法和属性。最常看到的就是js动和html的组合使用。在定义js的的function时,基本都要先获得html的对象,然后对其进行操作。如果没有了html的对象,js空有一身的武艺,却无用武之地。

       面向对象:

面向过程的基础是函数,面向对象的基础是对象/类。类是对事物属性和函数的抽象封装。它给了函数一个归宿,通过这些函数,既可以改变其他对象的属性也可以改变自己的属性。封装、继承和多态是面向对象的三大特征,面向对象有了继承,有利于提高程序的扩展性。

四总结:

       在面向对象中,抽象是灵魂,继承是抽象的运用,是多态的基础。

Java学习(一)--面向对象(一)