面向过程
面向过程的程序设计:核心是过程,过程指的是分步骤解决问题,是一种机械的思维方式
优点:复杂的问题流程化、进而简单化
可以提前预知程序运行结果
缺点:一套流水线或流程解决一个问题、一旦确定好流水之后,再想拓展新功能就比较麻烦
经常是牵一发而动全身,维护性差
应用场景:一旦完成基本很少改变的场景,例如电脑上的计算器功能或者是Linux的内核等等
面向对象
面向对象编程 -->Object Oriented Programming,简称OOP,是一种程序设计思想
它是将对象作为程序的基本单元
将数据和处理数据的程序封装到对象中,让对象完成特定的功能
以提高软件的复用性、灵活性和拓展性为主要目的
优点:程序员的角色发生了改变,操作者编程了指挥者,不再需要关心每个功能具体的执行细节,从而可以更多的专注逻辑
大大提高了程序的拓展性,一个对象发生改变,对其他对象没有影响,对象之间互相独立
提高了程序的灵活性、复用性强
缺点:
需要提前设计程序,简单的问题会变得复杂
无法提前预知程序运行结果