面向對象編程和面向過程編程的區別總結


今天我決定總結一下面向過程編程和面向對象編程的區別。

大學時學的是C語言,沒有對象的概念,拿到功能設計圖就直接寫步驟將功能實現,一體化。而現在工作用的是php語言,拿到需求,會歸類、拆解模塊、封裝類,再通過類調用函數實現。其實在早期,我受C語言影響,很難轉變自己的面向過程思維,實現功能的邏輯雖然用的是php但是寫出來的還是C邏輯,能減少用類定義就減少,甚至覺得類定義麻煩,沒必要。當然,在我慢慢的接觸類、對象這些的各種屬性各種便利后,真香。

現在網絡上有很多關於面向過程和面向對象區別的文檔,都總結的很好,總結如下
1、面向過程在解決問題的時候,會分析出解決問題的步驟,然后用函數一步步的將這些步驟實現,依次調用函數。而面向對象在解決問題的時候,會將問題拆散成一個個對象,建立對象的目的不是為了完成某個步驟,而是為了描述某個事物在整個解決問題的步驟中的行為。這來自於思考問題方式的不同。

2、從結構上說,面向過程的特點是過程化和模塊化,而面向對象的特點則是類封裝、繼承和多態(多態:同一操作作用於不同的對象,可以有不同的解釋,產生不同的執行結果。在運行時,可以通過指向基類的指針,來調用實現派生類中的方法)。

3、執行效率不同,面向過程不需要封裝類再實例化對象調用,只定義了函數和調用,所以執行效率會更高一些。

總的來說,面向過程執行效率更高也更直接,面向過程更靈活也更豐滿。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM