C语言编程原理
C语言在最初面试时是一种过程性(procedural)语言,这意味着它强调的是编程的算法方面,程序命令计算机按照一系列流程生成特定的结果。但是随着程序规模的扩大,程序经常使用分支语句,很多旧式程序的执行路径很混乱(被称为“意大利面条式编程”,突出一个混乱程度)。计算机科学家开发了一种更加有序的编程方式--结构化编程(structured programming),结构化编程将分支限制为一小组行为良好的结构。C语言词汇表中就包含了这些结构(for
、while
、if else
等)。
另一个新原则是自顶向下(top-down)的设计。在C语言中将大型任务分解成小型的、易于管理的任务,它鼓励程序员开发程序单元(函数)来表示各个任务模块。结构化编程技术反映了过程性编程的思想,根据执行的操作来构思一个程序。
面向对象编程(OOP)
C++是C语言的超集,其++符号来自于C语言中的自加运算。
与强调算法的结构化编程不同,OOP强调的是数据,其理念是设计与问题本质特征相对应的数据格式。
在C++中,类是一种描述数据以及对数据可执行操作的集合。比如定义一个描述矩阵的类,那么描述数据部分应该包括:顶点的位置,长和宽的大小,可执行操作应该包括:移动、获取和改变大小、复制等。在需要使用矩阵时,可以通过定义创建对象,该对象包含了描述矩阵的所有数据,并且可以使用可执行操作来修改矩阵。
OOP编程可以通过封装从而隐藏私有数据,使其免遭不适当的访问;可以通过多态为运算符和函数创建多个定义,通过编程的上下文确定使用哪个定义;可以通过继承使用旧类派生出新类。OOP引入了很多新的理念,它不是将重点放在任务上,而是放在概念上。这种从低级(如类)到高级(如程序)的处理过程叫做自下向上(bottom-up)的编程。
泛型编程
泛型编程是C++支持的另一种编程模式,它实际上是一种静态多态。它与OOP的目标相同,让代码重用和抽象通用概念的技术更简单。不过OOP强调的是编程的数据方面,泛型编程强调的是独立于数据类型。
标签:编程,多态,C++,C语言,结构化编程,Plus,OOP From: https://www.cnblogs.com/warren-j1an/p/18127233