程式導向和麵向物件
程式導向
程式導向就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候一個一個依次呼叫就可以了;
優點:效能比物件導向高,因為類呼叫時需要例項化,開銷比較大,比較消耗資源;比如微控制器、嵌入式開發、 Linux/Unix 等一般採用程式導向開發,效能是最重要的因素。
缺點:沒有物件導向易維護、易複用、易擴充套件
物件導向
物件導向是把構成問題事務分解成各個物件,建立物件的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。
優點:易維護、易複用、易擴充套件,由於物件導向有封裝、繼承、多型性的特性,可以設計出低耦合的系統,使系統 更加靈活、更加易於維護
缺點:效能比程式導向低
通俗易懂的例子
程式導向的方法寫出來的程式是一份蛋炒飯,而物件導向寫出來的程式是一個蓋澆飯,北京叫蓋飯,東北叫燴飯,廣東叫碟頭飯,就是一碗白米飯上面蓋一份菜,你喜歡什麼菜,就蓋上什麼菜。
蛋炒飯是把米飯和雞蛋混在一起炒,如果你恰巧不喜歡吃雞蛋,而是喜歡吃青菜,唯一的辦法就是倒掉,重新做一份青菜炒飯。而蓋澆飯就沒那麼麻煩,你只需要把上面的菜拔掉,更換一份菜就行了。
到底是蛋炒飯好還是蓋澆飯好,這個問題是很難回答的,非要比個高下的話,就必須設定一個場景,否則各有所長。
蓋澆飯的好處就是「菜」「飯」分離,從而提高了製作蓋澆飯的靈活性。飯不滿意就換飯,菜不滿意換菜。用軟體工程的專業術語就是「可維護性」比較好,「菜」「飯」的耦合度比較低。蛋炒飯將「蛋」「飯」攪和在一起,想換「蛋」「飯」中任何一種都很困難,耦合度很高,以至於「可維護性」比較差。軟體工程追求的目標之一就是可維護性,可維護性主要表現在3個方面:可理解性、可測試性和可修改性。物件導向的好處之一就是顯著的改善了軟體系統的可維護性。
參考來源
版權宣告:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結和本宣告。
本文連結:blog.csdn.net/jerry11112/article/d...
本作品採用《CC 協議》,轉載必須註明作者和本文連結