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

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

一面向过程

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


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

       试想一下,假设客户需求改变。那我们就要真对这个功能从上到下逐层对须要改变的地方进行改动。

从这里不难看它的可扩展性不强。所以它的维护成本相当的高。

二面向对象

它是一种更优秀的程序设计的方法,基本思想是使用类、对象、继承、封装、消息等基本概念来实现程序设计。

它是在处理问题时,从该问题所存在的事物本身出发。逐步认识事物的属性和行为特征。它比較接近人类的思维方式。

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

       面向过程:

 就是说你对面坐的都是一一个的过程/函数/功能,它们的对面也都是函数。

在面向过程里,函数最大,一切以函数为中心,若干的函数模块构成了整个的函数系统。

       基于对象:

基于对象没有继承和多态。基于对象是在已有对象的基础之上的。它把其它语言创建的对象统一起来,形成一个对象体系。基于对象语言的存在是借助其它语言存在的。比方javascript语言就是基于对象的,它使用一些封装好的对象。调用对象的方法,也能够设置对象的属性。可是无法派生新类,我们使用现有的对象的方法和属性。最常看到的就是js动和html的组合使用。

在定义js的的function时,基本都要先获得html的对象,然后对其进行操作。

假设没有了html的对象。js空有一身的武艺,却无用武之地。

       面向对象:

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

四总结:

       在面向对象中,抽象是灵魂,继承是抽象的运用,是多态的基础。
原文地址:https://www.cnblogs.com/zfyouxi/p/5409858.html