一般而言,计算机语言要处理两个概念——数据和算法。数据是程序使用和处理的信息,而算法是程序使用的方法。
C语言编程
C语言是过程性语言,这意味着它强调的是编程的算法方面。从概念上说,过程化编程首先要确定计算机应采取的操作,然后使用编程语言来实现这些操作,程序命令计算机按一系列流程生成特定的结果。
面向对象编程
与强调算法的过程性编程不同的是,OOP强调的是数据,试图让语言来满足问题的要求,其理念是设计与问题的本质特性相对应的数据格式。在C++中,类是一种规范,它描述了这种新型数据格式,对象是根据这种规范构造的特定数据结构。
通常类规定了可使用哪些数据对象来表示对象以及可以对这些对象进行哪些操作。
比如定义一个描述矩形的类。定义的数据部分应包括顶点的位置、长和宽、4条边的颜色和样式、矩形内部的颜色和填充图案等;定义的操作部分可以包括 移动、改变大小、改变颜色和图案、旋转、复制等操作
C++和泛型编程
泛型编程是C++支持的另一种编程模式。它与OOP的目标相同——使重用代码和抽象通用概念的技术更简单。不过OOP强调的是编程的数据部分,而泛型编程强调的是独立于特定数据类型。
OOP是一个管理大型项目的工具,而泛型编程提供了执行常见任务的工具。主要理解泛型指的是创建独立于类型的代码。