小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

如何培養(yǎng)面向?qū)ο缶幊趟枷?| iPhone開(kāi)發(fā) / iPad開(kāi)發(fā) 新手提問(wèn)區(qū)

 guitarhua 2013-08-17
一般,面向過(guò)程寫(xiě)的代碼,應(yīng)該會(huì)比較詳細(xì)的分單元文件的對(duì)吧?如果您的習(xí)慣也是如此的話(huà),那么可以按照一個(gè)單元文件的方向思考。比如,把一個(gè)具體化的、相 似的功能,寫(xiě)在一個(gè)單元文件中。然后從這個(gè)單元文件中提取成一個(gè)類(lèi)結(jié)構(gòu),用到的全局變量是類(lèi)的成員,用到的函數(shù)是類(lèi)的方法。這樣可以簡(jiǎn)單的組合成一個(gè)類(lèi)。 然后去掉這個(gè)單元文件,將類(lèi)的整體放入一個(gè)更大的單元。測(cè)試代碼從另外一個(gè)地方寫(xiě),采用直接創(chuàng)建類(lèi)對(duì)象的方式測(cè)試。如此一來(lái),您可以寫(xiě)出第一個(gè)類(lèi)對(duì)象了。 不過(guò),這樣的類(lèi)對(duì)象還不包含任何類(lèi)的優(yōu)勢(shì),主要的原因是,您目前只是把面向單元的過(guò)程代碼整理在一個(gè)類(lèi)框架下面了,并沒(méi)有使用到任何多態(tài)、繼承這兩個(gè)更重 要的要素(目前把單元文件變成類(lèi)的做法,就是封裝)。這個(gè)時(shí)候您可以仔細(xì)思考目前這個(gè)類(lèi)的架構(gòu)。比如,假設(shè)您從一個(gè)處理文件的單元文件中提取出了一個(gè) CFileStream類(lèi),那么此刻您可以往更高的抽象層次思考,首先文件流主要操作的是文件數(shù)據(jù),讀取數(shù)據(jù)到Buffer,從Buffer寫(xiě)入數(shù)據(jù)進(jìn) 去。那么這個(gè)讀寫(xiě)實(shí)際上不僅僅對(duì)文件有用,可以對(duì)內(nèi)存,對(duì)網(wǎng)絡(luò)都有用。所以從這里,您應(yīng)該可以提取出讀寫(xiě)函數(shù)的抽象行為,于是往CFileStream上 提取一個(gè)父類(lèi),只負(fù)責(zé)讀寫(xiě)的函數(shù)聲明,于是抽象的CStream就出來(lái)了。從這個(gè)父類(lèi)開(kāi)始,可以向下繼承CMemoryStream,甚至 CSocketStream等。這樣慢慢前進(jìn),您就能體會(huì)到面向?qū)ο蟮膬?yōu)勢(shì)了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多