面向過程:分析出解決問題所需要的步驟,然后用函數把這些步驟一步步實現,使用的時候再一個個的依次調用即可。
優點:性能高
缺點:相較於面向對象而言,不易維護,不易復用,不易擴展
適合於小型的項目
面向對象編程:把事務分解成為一個個對象,然后由對象之間分工與合作。
優點:易維護,易復用,易擴展,低耦合,系統更加靈活
有三大特性:封裝,繼承,多態
缺點:性能比面向過程低
適合多人協作的大型項目
用面向過程的方法寫出來的程序就像是一份蛋炒飯,先炒蛋,混合些洋蔥粒,胡蘿卜絲,豌豆,翻炒片刻,再把飯加入鍋里,加各種調料,醬油味精什么的,蛋與飯交融在一起,充分混合,加上各種香料,香味已經滲透到飯里面。吃起來讓人欲罷不能。但是,對於我這樣不喜歡吃蛋的人來說就不是那么友好了。
用面向對象寫出來的程序就像是一份蓋澆飯,可以根據不同的人的喜好來烹飪,有的喜歡番茄炒蛋蓋澆飯,有的喜歡青椒肉絲蓋澆飯,都可以,直接把菜往飯上一堆就可以了,飯菜是相互獨立的,由於菜汁是覆蓋在飯的上面的,吃的時候還需攪拌攪拌,讓菜汁的香味慢慢融合到飯里,沒有蛋炒飯來的那么干脆。
所以蛋炒飯與蓋澆飯誰也代替不了誰,它們是為不同的吃貨准備的。