NO.6

Q 什么是面向过程编程? 什么是面向过程编程语言?
A 实际上 这个问题没有严格的官方定义, 理解这两个概念最好的方式是跟面向对象编程和面向对象编程语言进行对比. 相较于面向对象编程以类为组织代码的基本单元, 面向过程编程则是以过程(或者方法)作为组织代码的基本单元. 它最主要的特点就是数据和方法相分离. 相较于面向对象编程语言, 面向过程编程语言最大的特点就是不支持丰富的面向对象的特性, 比如封装, 继承, 多态

Q 面向对象编程相比面向过程编程有哪些优势?

A 面向对象编程相比面向过程编程主要优势有3个

  • 对于大规模复杂程序的开发, 程序的处理流程并非单一的一条主线, 而是错综复杂的网状结构, 面向对象编程比起面向过程编程,更能应对这种复杂类型的程序开发. (面向对象编程可以更好地处理非线性结构的程序开发)
  • 面向对象编程相比面向过程编程, 具有更加丰富的特性(封装, 继承, 多态, 抽象), 利用这些特性便携的代码,更加易扩展, 易复用, 易维护
  • 从编程语言跟机器打交道的方式的演进规律中, 我们可以总结出,面向对象编程语言比起面向过程编程语言 更加人性化, 更加高级, 更加智能

Q 在文章中我讲到,面向对象编程比面向过程编程,更加容易应对大规模复杂程序的开发。但像 Unix、Linux 这些复杂的系统,也都是基于 C 语言这种面向过程的编程语言开发的,你怎么看待这个现象?这跟我之前的讲解相矛盾吗?
A 我觉得不矛盾, 毕竟系统都是 早年间的产物, 早年间的编程语言环境还是相对匮乏,而且C语言更贴近汇编, 后期很多高级语言也是基于C语言开发出来的,
面向对象语言说白了就是对面向过程语言的一种封装罢了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,160评论 1 32
  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,403评论 2 35
  • 01 “如果你深陷地狱,那么就继续前行”,这是丘吉尔的一句名言。大概高中时候在语文读本里看到的,完全没有政治色彩,...
    白格姨妈阅读 2,221评论 0 4
  • 突然发现自己已经没有了很强烈的时间感受,若不是日历上记录2017年到了,我是不会知道的。 无论如何,总结一下201...
    小秋SAKIYA阅读 251评论 4 4
  • 清晨,在一阵阵清脆悦耳的闹铃声中,我被吵醒了。 这时的房间已经很亮了,以往这个时候,房间应该黑漆漆的才...
    徐敏妍阅读 189评论 0 2