过程化编程
basic过程性语言 数据+算法=程序 强调算法
结构化编程
C和Pascal语言 结构化编程 top-down自顶向下,大任务分解成各个小模块.
面向对象编程
C++ 面向对象语言 强调数据 tottom-up自下向上
泛型编程
C++ 模板支持的 泛型generic 对语言进行扩展,以便可以只编写一个泛型(即不是特定类型的)函数, 并将其用于各个实际类型。
函数式编程
函数式编程是种编程范式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ 演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。和 过程化编程相比,函数式编程里,函数的计算可随时调用。
/*指令式编程
命令式编程
面向过程和面向对象是命令式语言主要的两种风格。
C++ Java和C#则是面向对象的,它们将对象作为程序的基本单元,将程序和数据封装其中,通过对象的之间的协作来解决问题。它们是自下向上的编程风格。
Fortran C和Pascal都是面向过程的,它们主要的程序设计单元是过程。它们采用一种自顶向下的编程风格。
并发式 分布式*/
---------------------------------------------------------------------------------------------------------------------------------
什么是面向对象分析(OOA)?
"面向对象分析是一种分析方法,这种方法利用从问题域的词汇表中找到的类和对象来分析需求。"
什么是面向对象设计(OOD)?
“面向对象设计是一种设计方法,包括面向对象分解的过程和一种表示法,这种表示法用于展现被设计系统的逻辑模型和物理模型、静态模型和动态模型”。
这里定义2个要点:
(1)面向对象设计导致了面向对象分解
(2)面向对象设计使用了不同的表示法来表达逻辑设计(类和对象结构)和物理设计(模块和处理架构)的不同模型,以及系统的静态和动态特征。
什么是面向对象编程(OOP)?
”面向对象编程是一种实现的方法,在这种方法中,程序被组织成许多组互相协作的对象,每个对象代表某个类的一个实例,而类则属于一个通过继承关系形成的层次结构“
这里定义有三个要点:
(1)利用对象作为面向对象编程的基本逻辑构建块,而不是利用算法
(2)每个对象都是某个类的一个实例
(3)类与类之间可以通过继承关系联系在一起。
它们之间的关系基本上,面向对象分析的结果可以作为开始面向对象设计的模型,面向对象的设计结果可以作为蓝图,利用面向对象编程方法最终实现一个系统。
---------------------------------------------------------------------------------------------------------------------------------