编程思想 面向过程、结构化和面向对象

本文将介绍面向过程、结构化和面向对象这三种截然不同的编程思想。

一、简单示例

1. 面向过程

1
2
3
4
5
while (西瓜没吃完 && 猪没吃饱){
猪张嘴;
猪咬西瓜;
猪吞西瓜;
}

2. 结构化

1
2
3
4
5
void 吃(动物, 食物){
···
}

吃(猪, 西瓜);

3. 面向对象

1
2
3
4
5
6
7
8
9
class 猪{
···
吃(食物){
...
}
...
}

猪.吃(西瓜);

二、面向过程

面向过程是一种以过程为中心的编程思想。分析程序所需要完成的步骤,利用程序将这些步骤逐一实现,程序执行时按步骤一个个完成,最终解决问题。

三、结构化

1. 什么是结构化?

结构化是一种以功能为中心的编程思想。自顶向下分析,将程序拆分为若干模块。每个模块负责一个功能,接受数据并返回数据。整个软件由一个个函数组成。

2. 三种基本结构

  • 顺序结构
  • 选择结构
  • 循环结构

四、面向对象

1. 什么是面向对象?

面向对象是一种以对象为中心的编程思想。它从现实事物出发,将其抽象为类。类中往往包含着对象的属性及操作属性的方法,因此,面向对象不再人为地将数据和动作分离。

2. 设计方法

从面向对象的眼光来看,人类如果看待对象,程序员就该如何定义和使用类。

  • 一个对象应该有哪些属性,那么就在类中设置相应的成员变量;

  • 一个对象应该有哪些行为,那么就在类中定义相应的方法。

3. 基本特征

  • 封装:将对象的实现细节隐藏起来,通过一些公用方法来暴露该对象的功能。

  • 继承:面向对象实现代码复用的重要手段,当子类继承父类后,将直接获得父类的属性和方法。

  • 多态:同一个方法,在使用不同的实例时,会执行不同的操作。