从面向过程到面向对象

时间:2022-06-28 19:52:26

在结构化程序设计中,采用的是“自顶向下,逐步细化(divide and conquer,stepwise refinement)”的思想。它的具体操作方法是模块化,是按功能来分的,所以也称“功能块”。也就是从一般事物中抽象出来的操作,在C++中称为一个“函数”,一个函数解决一个问题,即实现一个功能或一个操作。

在模块化的思想中已经出现了“封装”的概念,这个封装是把数据封装到模块中,即局部变量。当程序规模和复杂性达到一定程度时不可避免地引入大量的全局变量,这时优良的模块化没法坚持到底。

对象”的概念是面向对象技术的核心所在。比如你所拥有的一部移动电话,它是现实世界中的一个实体。它由天线、发射部件、接收部件、显示屏、按键、专用集成电路芯片及外壳组成;它有着其实在的功能,可以打电话,可以发短消息,可以存储、输入和编辑各种个人信息,甚至可以上网。这样一个实体可以在计算机世界中映射为一个对象(电话对象)。

一部移动电话<–>一个对象

又如你们所拥有的一辆自行车,它由车架、车轮、脚踏和传动机构、变速机构等组成,它具有代步功能,它可以进行变速骑行,特别要强调的是它有一些特征可以把你的这辆自行车与其他自行车区分开来,其中最重要的是钢印号。这些都可以在面向对象的程序中用对象及其属性和操作模拟出来。

一辆自行车<–>一个对象(有钢印号等属性,有调速等操作函数)

动画演示:计算机世界与现实世界的对应关系。