Java学习(一)--面向对象(一)
面向对象的思想一直指导者我们软件的分析、设计与开发。java语言是一种面向对象的语言。在学习java之前,先回想一以下向过程和面向对象。
一面向过程
面向过程主张按功能来划分系统需求。每一个功能都负责对数据进行一次处理。每一个功能都接受一些数据。它最小的单位是函数,每一个函数负责完毕一个功能,整个系统由一个个函数组成,当中有一个主函数。作为程序的入口。主函数依次调用其它普通函数,普通函数之间依次调用。从而完毕整个软件系统的功能。事实上就是主函数负责把系统中的全部函数“串起来”。
从上面的图中我们不难发现面向过程的设计是自顶向下的逐层设计,在设计阶段就须要考虑每一个模块应该分解为那些子模块,每一个子模块有分解为那些更小的模块,直达模块细化到一个函数。每一个函数的存在都是为了实现上一层的函数。
试想一下,假设客户需求改变。那我们就要真对这个功能从上到下逐层对须要改变的地方进行改动。
从这里不难看它的可扩展性不强。所以它的维护成本相当的高。
二面向对象
它是一种更优秀的程序设计的方法,基本思想是使用类、对象、继承、封装、消息等基本概念来实现程序设计。
它是在处理问题时,从该问题所存在的事物本身出发。逐步认识事物的属性和行为特征。它比較接近人类的思维方式。
三比較面向过程、基于对象和面向对象。
面向过程:
就是说你对面坐的都是一一个的过程/函数/功能,它们的对面也都是函数。
在面向过程里,函数最大,一切以函数为中心,若干的函数模块构成了整个的函数系统。
基于对象:
基于对象没有继承和多态。基于对象是在已有对象的基础之上的。它把其它语言创建的对象统一起来,形成一个对象体系。基于对象语言的存在是借助其它语言存在的。比方javascript语言就是基于对象的,它使用一些封装好的对象。调用对象的方法,也能够设置对象的属性。可是无法派生新类,我们使用现有的对象的方法和属性。最常看到的就是js动和html的组合使用。
在定义js的的function时,基本都要先获得html的对象,然后对其进行操作。
假设没有了html的对象。js空有一身的武艺,却无用武之地。