Java视频基础笔记--05面向对象和面向过程

面向对象和面向过程的理解

  1. 面向过程和面向对象有什么区别?

    • 从语言方面出发:
      1. 对于C语言来说,是完全面向过程的。
      2. 对于C++语言来说,是一半面向过程,一半是面向对象。(C++是半面向对象的)
      3. 对于Java语言来说,是完全面向对象的。
  2. 什么是面向过程的开发方式?

    • 面向过程的开发方式主要的特点是:

      1. 注重步骤,注重的是实现这个功能的步骤。面向过程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程。比如要打扫房间这件事,第一步:需要先取扫帚,第二步:然后仔仔细细打扫每一处,第三步:最后将扫帚放回原地。
      2. 另外面向过程也注重实现功能的因果关系:因为A所有B,因为B所以C,因为C所以D。
    • 面向过程有什么缺点?(耦合度高,扩展力差。)

      ​ 面向过程最主要是每一步与每一步的因果关系,其中A步骤因果关系到B步骤,A和B联合起来形成一个子模块,子模块和子模块之间又因为因果关系结合在一起,假设其中任何一个因果关系出现问题(错误),此时整个系统的运转都会出现问题。(代码和代码之间的耦合度太高,扩展力太差)。

    • 面向过程有什么优点?(快速开发)

      ​ 对于小型项目(功能),采用面向过程的方式进行开发,效率较高。不需要前期进行对象的提取,模型的建立,采用面向过程方式可以直接开始干活。一上来直接写代码,编写因果关系。从而实现功能。

  3. 什么是面向对象的开发方式?

    • 采用面向对象的方式进行开发,更符合人类的思维方式。
    • 面向对象就是将现实世界分割成不同的单元,然后每一个单元都实现成对象,然后给一个环境驱动一下,让各个对象之间协作起来形成一个系统。
  4. 举例:说明一下面向对象和面向过程的区别?

    • 蛋炒饭:

      ​ 鸡蛋和米饭完全混合在一起。没有独立对象的概念。假设客户提出新需求:我只想吃蛋炒饭中的米饭,怎么办?

      客户提出需求,软件开发者必须满足这个需求,于是开始扩展,这个软件的扩展是一场噩梦。(很难扩展,耦合度太高了。)

    • 盖饭:

      ​ 老板,来一份:鱼香肉丝盖饭,鱼香肉丝是一道菜,可以看成一个独立的对象。米饭可以看成一个独立的对象。两个对象准备好之后,只要有一个动作,叫做:“盖。假设客户提出新需求:我不想吃鱼香肉丝盖饭,想吃西红柿鸡蛋盖饭。

      这个扩展就很轻松了。直接把“鱼香肉丝”对象换成“西红柿鸡蛋”对象。

  5. 面向对象的方式贯穿整个系统的话,涉及到三个术语:

    1. OOA:面向对象分析
    2. OOD:面向对象设计
    3. OOP:面向对象编程
    • 实现一个软件的过程:分析(A) --> 设计(D) --> 编程(P)
  6. 封装, 继承, 多态,任何一种面向对象的编程语言都包括这三个特征。

posted @ 2021-03-10 22:03  LightSunshine21  阅读(35)  评论(0)    收藏  举报