面向过程编程指的是为了完成某个程序功能,需要经历一定的步骤,而这些步骤通常是由很多的函数依次完成。
面向过程的想法很简单,但有个致命的缺点是,当程序需要添加某个新功能或做一定的修改的时候,往往需要改动整个程序,而这样的代价往往非常高昂。
而面向对象编程具有很高的可维护性、可复用性、可扩展性、灵活性。面向对象编程相对于面向过程编程所做的改进是将面向过程的步骤根据功能划分为不同的类,根据面向对象的三大特性:封装、继承、多态可以构建出耦合程度非常低的系统。
但是面向过程编程需要创建一个类,并且会由这个类创建出许多对象,因此代码的效率没有面向过程编程的效率高。