2. 面向過程的程序設計和面向對象的程序設計分別指什么?兩者分別有什 ...
一、面向過程概念
面向過程(cheng)(cheng)是一(yi)種以(yi)過程(cheng)(cheng)為中(zhong)心的(de)編程(cheng)(cheng)思(si)想,面向過程(cheng)(cheng)編程(cheng)(cheng)是基于(yu)“馮·諾依曼”模型的(de)。在這(zhe)種模型中(zhong),程(cheng)(cheng)序(xu)(xu)與變量(liang)一(yi)起存儲,程(cheng)(cheng)序(xu)(xu)中(zhong)包含(han)一(yi)系列(lie)指令(ling),并把(ba)這(zhe)些指令(ling)以(yi)函數的(de)方式組織(zhi)起來(lai)。
特性
自(zi)頂向(xiang)下(xia)、逐步求精、模塊化
優點
性能比(bi)面向對象高,因(yin)為類調(diao)用需要實例化(hua),開銷比(bi)較(jiao)大(da),比(bi)較(jiao)消耗資源。
如單片機(ji)、嵌入(ru)式(shi)開發(fa)、Linux/Unix等一般采用(yong)面向過(guo)程開發(fa),因(yin)為在(zai)它們看來性能是最重要的因(yin)素。
缺點
沒(mei)有面向對象(xiang)易(yi)維護、易(yi)復用、易(yi)擴展
(按照面向(xiang)(xiang)過程的(de)思想(xiang),在解(jie)決(jue)問(wen)(wen)(wen)題(ti)時,各(ge)函數之間是為了這(zhe)個(ge)問(wen)(wen)(wen)題(ti)服務;而面向(xiang)(xiang)對象的(de)思想(xiang),則是站(zhan)在提出問(wen)(wen)(wen)題(ti)的(de)主體的(de)角(jiao)度(du)去解(jie)決(jue)問(wen)(wen)(wen)題(ti),可將解(jie)決(jue)這(zhe)一具體問(wen)(wen)(wen)題(ti)的(de)步驟,抽象為解(jie)決(jue)這(zhe)一類問(wen)(wen)(wen)題(ti)的(de)方法,以后再遇(yu)到類似的(de)問(wen)(wen)(wen)題(ti),可以復用解(jie)決(jue)思路(lu))
二、面向對象概念
面向(xiang)對(dui)(dui)象是按人們(men)認識(shi)客觀世(shi)界(jie)的(de)系(xi)統(tong)思(si)維方式(shi),采用(yong)基(ji)于對(dui)(dui)象(實(shi)體)的(de)概念建立模型,模擬客觀世(shi)界(jie)分析、設計、實(shi)現軟件的(de)方法。通過面向(xiang)對(dui)(dui)象的(de)理(li)念,將計算機軟件系(xi)統(tong)能(neng)與現實(shi)世(shi)界(jie)中(zhong)的(de)系(xi)統(tong)一(yi)一(yi)對(dui)(dui)應。
特性
封裝(zhuang)、繼承(cheng)、多態、抽象
優點
易(yi)維(wei)護、易(yi)復用(yong)、易(yi)擴展(zhan)(在解釋(shi)面向過程的缺點(dian)是有對面向對象(xiang)的優點(dian)進行(xing)解釋(shi))
缺點
性能比(bi)面(mian)向過程(cheng)低(同(tong)上)
...
1923