APP開發(fā)關(guān)于C++面向過程、面向?qū)ο?、面向組件意義闡述,
APP開發(fā)公司資深編程工程師認(rèn)為面向組件和面向方面都是十分優(yōu)秀的編程思想和規(guī)范,它們在不同時期都起到了巨大的作用。這幾種編程思想和規(guī)范并不是簡單的替代關(guān)系。隨便翻開一本主流編程語言的書籍就會發(fā)現(xiàn),最基本的語法仍然包含控制結(jié)構(gòu)化流程的分支——循環(huán)語句。這是面向過程的標(biāo)準(zhǔn)語法,但這不意味著你仍然可以使用面向?qū)ο蟮恼Z言編寫面向過程的程序,只是說在面向?qū)ο蟮某绦蛟O(shè)計中,方法的實(shí)現(xiàn)仍然需要面向過程的設(shè)計。在C++中,你可以使用面向過程或者面向?qū)ο蟮姆绞骄帉懗绦颍覀冊陂_發(fā)APP時要明白這是因?yàn)镃++是面向過程和面向?qū)ο蟮幕旌险Z言。而在Java和C#中已經(jīng)不能使用面向過程編寫程序了,所有程序必須按照面向?qū)ο蟮姆绞蕉x類和創(chuàng)建對象。但是這并不代表面向過程已經(jīng)被拋棄,它們只是被用到類的方法中,而程序的結(jié)構(gòu)是依靠對象來組織的。

APP開發(fā)者應(yīng)該明白Java和C#語言都是從C++語言繼承而來的,但是這兩種語言被開發(fā)出來并不是為了設(shè)計一個更好的面向?qū)ο蟮恼Z言,事實(shí)上它們背后的思想是面向組件。面向?qū)ο蠛兔嫦蚪M件從語法上說沒有太大的區(qū)別。在Java和C#語言中,仍然可以編寫傳統(tǒng)的面向?qū)ο蟮某绦?,它們只是在背后的框架的支持下讓程序員以更方便、快捷的方式設(shè)計面向組件的程序。
APP開發(fā)時的面向組件的編程思想強(qiáng)調(diào)契約與實(shí)現(xiàn)的分離,這樣使程序員可以方便、快速地替換組件而不影響程序的其他部分,最終可以用“搭積木”的方式快速搭建系統(tǒng)的功能。在面向組件的開發(fā)中,組件的實(shí)現(xiàn)單元也是對象,組件通過一個或多個對象提供服務(wù)。而實(shí)現(xiàn)組件的方式毫無疑問是面向?qū)ο蟮?,只不過程序的架構(gòu)由組件和接口來組織。和面向組件一樣,面向方面也是對面向?qū)ο蟮难a(bǔ)充,在語法和實(shí)現(xiàn)單元上仍然是以面向?qū)ο鬄榛A(chǔ),只是在框架上增加了對編程思想的支持。這兩種編程思想更多地體現(xiàn)在對程序的組織上,而程序的基本實(shí)現(xiàn)仍然依靠面向?qū)ο蟮姆绞剑?dāng)然程序更多細(xì)節(jié)部分的實(shí)現(xiàn)則要依靠面向過程的方式。
APP開發(fā)時對象的意義
在設(shè)計C++語言時,有一個重要的目標(biāo)是讓C++可以創(chuàng)建自定義類型,通過這些自定義類型可以擴(kuò)展系統(tǒng)的功能,并且使得使用這些自定義類型與使用內(nèi)嵌的原生類型一樣方便。類型對程序設(shè)計很重要,但是面向?qū)ο蟮木幊趟枷虢^不是僅僅增加類型這么簡單。類型對編程人員而言甚至比編譯器都重要,一個變量的類型決定了可以調(diào)用它的方法。但是真正對需要解決的問題更有意義的是對象,對象是領(lǐng)域問題(需要解決的問題)的描述和解決方案。對象的創(chuàng)建很簡單,在定義好類以后,只要一條簡單的語句就可以創(chuàng)建對象。創(chuàng)建對象背后的行為是面向?qū)ο缶幊趟枷氲捏w現(xiàn)。而理解對象的創(chuàng)建過程和生命周期對于以后的程序開發(fā)有著重要的意義。
創(chuàng)建對象的細(xì)節(jié)與具體的運(yùn)行時環(huán)境有關(guān),不同語言的運(yùn)行時環(huán)境在處理對象的行為上大同小異,但是在一些細(xì)節(jié)上還是有所不同,因?yàn)椴煌Z言的設(shè)計思想有所差異。好了,
APP開發(fā)公司本文關(guān)于“關(guān)于C++面向過程、面向?qū)ο蟆⒚嫦蚪M件意義闡述”就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。