Java视频基础笔记--05面向对象和面向过程
面向对象和面向过程的理解
-
面向过程和面向对象有什么区别?
- 从语言方面出发:
- 对于C语言来说,是完全面向过程的。
- 对于C++语言来说,是一半面向过程,一半是面向对象。(C++是半面向对象的)
- 对于Java语言来说,是完全面向对象的。
- 从语言方面出发:
-
什么是面向过程的开发方式?
-
面向过程的开发方式主要的特点是:
- 注重步骤,注重的是实现这个功能的步骤。面向过程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程。比如要打扫房间这件事,第一步:需要先取扫帚,第二步:然后仔仔细细打扫每一处,第三步:最后将扫帚放回原地。
- 另外面向过程也注重实现功能的因果关系:因为A所有B,因为B所以C,因为C所以D。
-
面向过程有什么缺点?(耦合度高,扩展力差。)
面向过程最主要是每一步与每一步的因果关系,其中A步骤因果关系到B步骤,A和B联合起来形成一个子模块,子模块和子模块之间又因为因果关系结合在一起,假设其中任何一个因果关系出现问题(错误),此时整个系统的运转都会出现问题。(代码和代码之间的耦合度太高,扩展力太差)。
-
面向过程有什么优点?(快速开发)
对于小型项目(功能),采用面向过程的方式进行开发,效率较高。不需要前期进行对象的提取,模型的建立,采用面向过程方式可以直接开始干活。一上来直接写代码,编写因果关系。从而实现功能。
-
-
什么是面向对象的开发方式?
- 采用面向对象的方式进行开发,更符合人类的思维方式。
- 面向对象就是将现实世界分割成不同的单元,然后每一个单元都实现成对象,然后给一个环境驱动一下,让各个对象之间协作起来形成一个系统。
-
举例:说明一下面向对象和面向过程的区别?
-
蛋炒饭:
鸡蛋和米饭完全混合在一起。没有独立对象的概念。假设客户提出新需求:我只想吃蛋炒饭中的米饭,怎么办?
客户提出需求,软件开发者必须满足这个需求,于是开始扩展,这个软件的扩展是一场噩梦。(很难扩展,耦合度太高了。)
-
盖饭:
老板,来一份:鱼香肉丝盖饭,鱼香肉丝是一道菜,可以看成一个独立的对象。米饭可以看成一个独立的对象。两个对象准备好之后,只要有一个动作,叫做:“盖。假设客户提出新需求:我不想吃鱼香肉丝盖饭,想吃西红柿鸡蛋盖饭。
这个扩展就很轻松了。直接把“鱼香肉丝”对象换成“西红柿鸡蛋”对象。
-
-
面向对象的方式贯穿整个系统的话,涉及到三个术语:
- OOA:面向对象分析
- OOD:面向对象设计
- OOP:面向对象编程
- 实现一个软件的过程:分析(A) --> 设计(D) --> 编程(P)
-
封装, 继承, 多态,任何一种面向对象的编程语言都包括这三个特征。

浙公网安备 33010602011771号