“面向過程”是一種以過程為中心的編程思想禽翼。
就是分析出解決問題所需要的步驟屠橄,然后用函數(shù)把這些步驟一步一步實現(xiàn),使用的時候一個一個依次調(diào)用就可以了闰挡。
“面向?qū)ο蟆?Object Oriented,簡稱OO)是一種以事物為中心的編程思想锐墙。
就是把構(gòu)成問題事務(wù)分解成各個對象,建立對象的目的不是為了完成一個步驟长酗,而是為了描敘某個事物在整個解決問題的步驟中的行為溪北。
面向過程的優(yōu)點:流程化使得編程任務(wù)明確,在開發(fā)之前基本考慮了實現(xiàn)方式和最終結(jié)果花枫;效率高,面向過程強調(diào)代碼的膽小精悍刻盐,善于結(jié)合數(shù)據(jù)結(jié)構(gòu)來開發(fā)高效率的程序。劳翰。流程明確敦锌,具體步驟清楚,便于節(jié)點分析佳簸。缺點是:需要深入的思考乙墙,耗費精力颖变,代碼重用性低,擴展能力差听想,維護起來難度比較高腥刹,對復(fù)雜業(yè)務(wù)來說,面向?qū)ο蟮哪K話難度較高汉买,耦合度也比較高衔峰。
面向?qū)ο蟮膬?yōu)點:結(jié)構(gòu)清晰,程序便于模塊化蛙粘,結(jié)構(gòu)化垫卤,抽象化,更加符合人類的思維方式出牧;封裝性穴肘,將事務(wù)高度抽象,從而便于流程中的行為分析舔痕,也便于操作和自势栏А;容易擴展伯复,代碼重用率高慨代,可繼承,可覆蓋边翼;實現(xiàn)簡單鱼响,可有效地減少程序的維護工作量,軟件開發(fā)效率高组底。面向?qū)ο蟮娜秉c:效率低,面向?qū)ο笤诿嫦蜻^程的基礎(chǔ)上高度抽象筐骇,從而和代碼底層的直接交互非常少機會债鸡,從而不適合底層開發(fā)和游戲甚至多媒體開發(fā);復(fù)雜性铛纬,對于事務(wù)開發(fā)而言厌均,事務(wù)本身是面向過程的,過度的封裝導(dǎo)致事務(wù)本身的復(fù)雜性提高告唆。