面向过程编程VS面向对象编程
A. 面向过程编程的特点
a) C语言的特点
优点:
Ø 简洁紧凑,灵活方便;
Ø 结构化语言;
Ø 语法限制不太严格,程序设计自由度大;
Ø 允许直接访问物理地址,可以直接对硬件操作;
Ø 生成目标代码质量高,程序执行效率高;
Ø 具有较高的可移植性
缺点:
Ø 灵活性、维护性、复用性、扩展性差
b) 面向过程的编程特点
面向过程程序设计:数据结构+算法
主要解决科学计算问题,用户需求简单而固定
特点:
Ø 分析解决问题所需要的步骤
Ø 利用函数实现各个步骤
Ø 依次调用函数解决问题
问题:
Ø 软件可重用性差
Ø 软件可维护性差
Ø 构建的软件无法满足用户需求
B. 面向对象编程的特点
a) C++语言的特点
优点:
Ø 兼容了C;(C++语言在保持了C语言简洁高效、接近汇编语言的特点的同时,对C的类型系统进行了改革性扩充,所以C++比C更安全,其编译系统也能检查出更多类型错误。)
Ø 支持面向对象的方法
Ø 灵活性、维护性、复用性、扩展性好
缺点:
C++是在C语言基础上的发展,自然也比C语言更加复杂,这也是C++最大的缺点,由于语法知识比较复杂,一般人往往难以学精通,编写过程也比较难,即使能够使用编译器,也可能会存在大量问题,而且很难被发现。
b) 面向对象的编程特点
面对对象程序设计:由现实世界建立软件模型
将现实世界中的事物直接映射到程序中,可直接满足用户需求
特点:
Ø 直接分析用户需求中涉及的各个实体
Ø 在代码中描述现实世界中的实体
Ø 在代码中关联各个实体协商工作解决问题
优势:
Ø 构建的软件能够适应用户需求的不断变化
Ø 直接利用面向过程方法的优势而避开其劣势