本文只是一些个人的理解,没有过多的进行基础理论的堆积,尽量说人话,让不懂的人也可以有一点概念。
相同的目标:
去第一餐厅吃饭
面向过程:
进入第一餐厅、买饭、吃饭
面向对象:
创建对象 第一餐厅、同学1
选择第一餐厅的某种事物、同学1进行购买、然后吃
分析:
看似是面向对象的过程更麻烦一些,但是面向过程中的各个过程是环环相扣的,前后的过程一定是有关联的。此时你可能问,有关联又怎样?假设此时需求变了,你不想去第一餐厅买饭了想去第二餐厅,或者不用同学1买饭了想让同学2去,你就要将所有的代码进行完全的重写。而对于面向对象来说,只需将对象改为你想使用的对象即可,大部分的代码还是可以用的。
向上述面向过程的那种重构对于大型的项目来说是致命的,项目很难在一开始就达到要求,需要后期大量的调整,此时面向对象的优势体现的就比较明显了,但是创建对象等操作要占用大量的资源,因此面向对象的语言的性能相对较低,因此单片机等资源有限的设备使用的编程语言一般是面向过程的。