一幅图读懂面向对象和面向过程程序设计的区别!
项目 名称 |
面向对象程序设计 |
面向过程程序设计 (也叫结构化编程) |
定义 |
面向对象顾名思义就是把现实中的事务都抽象成为程序设计中的“对象”,其基本思想是一切皆对象,是一种“自下而上”的设计语言,先设计组件,再完成拼装。 |
面向过程是“自上而下”的设计语言,先定好框架,再增砖添瓦。通俗点,就是先定好main()函数,然后再逐步实现mian()函数中所要用到的其他方法。 |
特点 |
封装、继承、多态 |
算法+数据结构 |
优势 |
适用于大型复杂系统,方便复用 |
适用于简单系统,容易理解 |
劣势 |
比较抽象 |
难以应对复杂系统,难以复用 |
设计语言 |
Java、Smalltalk、EIFFEL、C++、Objective-、C#、Python等 |
C、Fortran |
使用场景 |
30种编程语言的比较选择问题 |