面向对象&面向过程

1.面向对象?

  面向对象OO,英文全称为Object-oriented。

  面向对象程序设计OOP,Object-oriented Programming

  Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。

  所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。

  面向对象有以下特点:

  1)对象具有属性和行为。

  2)对象具有变化的状态。

  3)对象具有唯一性。

  4)对象都是某个类别的实例。

  5) 一切皆为对象,真实世界中的所有事物都可以视为对象。
  例如,我们要造一辆车,那么我们先要把车的属性如车颜色,座位数量,发动机等属性抽象出来,车辆要跑,加油等操作,把这些全部抽象形成一个Car类

  例如,一个学校,会有学生和老师等实体,学生有学号、姓名、所在班级等属性(数据),学生还有学习、提问、吃饭和走路等操作。学生只是抽象的描述,这个抽象的描述称为“类”。在学校里活动的是学生个体,即张同学、李同学等,这些具体的个体称为“对象”,“对象”也称为“实例”。

 

  面向对象的思想:抽象、分类的思维模式,思考问题的形式,需要哪些分类,然后对这些分类单独思考,最后在某个分类下的细节进行面向过程的思索。

  面向对象的本质:以类的方式组织代码,以对象组织(封装)数据。

2.面向过程

  面向过程的思想:从过程的角度思考问题,强调的就是功能行为,功能的执行过程,即先后顺序,而每一个功能我们都使用函数(类似于方法)把这些步骤一步一步实现。

  面向过程的特点:

  1)面向过程的本质:具体的、步骤清晰

  2)最小的程序单元是函数

  3)强调的是功能行为,功能的执行过程

3.面向对象&面向过程

  面向对象和面向过程的思考方式不同,下面以一个五子棋来说明面向对象和面向过程的不同思考方式。

  面向过程的思考方式:

  把以下每个步骤用分别的函数来实现就是一个面向过程的开发方法。

  1. 开始游戏;
  2. 黑子先走;
  3. 绘制画面;
  4. 判断输赢;
  5. 轮到白子;
  6. 绘制画面;
  7. 判断输赢;
  8. 返回第二步;
  9. 输出最后结果;

  面向对象的思考方式:

  以下是面向对象分析问题的步骤:

  1. 分析对象:棋子,棋盘,主体框架类,
  2. 棋盘类的属性:需要画一个棋盘,大小背景线条颜色,都是属性。棋盘需要有位置分布,
  3. 棋子的属性,黑棋,白棋,添加到棋盘的方法,
  4. 棋盘的方法:作为一个容器,需要容纳棋子,添加棋子操作,绘制棋盘,当添加棋子进来的时候,判断是否已经绘制棋子,绘制棋盘,判定输赢,输出最后结果。
  5. 将棋盘绘制到主体框架类上面,并调用
  因此,相对于面向过程,面向对象具有更好
  1)面向对象更符合人的思考方式,万物皆是对象。
  2)面向对象软件适应性会更好一些,具有更高的可维护性,代码可读性好,面向对象的设计模式使得代码结构更加清晰明了。
  3)保证软件代码健壮。由于其很高的重用性,在开发过程中重用已有的而且在相关领域经过长期测试的代码,稳定性比较高,对软件的健壮性起到了促进作用。
  
  当然,由于C语言可以操作到系统内存、指针、地址、硬件I/O等,程序的执行效率优于Java。
posted @ 2020-11-08 15:07  Danny·茄子  阅读(162)  评论(0)    收藏  举报