freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第六章c面向?qū)ο蟪绦蛟O(shè)計(jì)(已修改)

2025-05-23 18:32 本頁面
 

【正文】 培訓(xùn)管理資料大全 《商務(wù)智庫》整理 培訓(xùn)管理資料大全 《商務(wù)智庫》整理 第六章 C++面向?qū)ο蟪绦蛟O(shè)計(jì) 六年前,我剛熱戀“面向?qū)ο蟆保?ObjectOriented)時(shí),一口氣記住了近十個(gè)定義。六年后,我從幾十萬行程序中滾爬出來準(zhǔn)備寫點(diǎn)心得體會(huì)時(shí),卻無法解釋什么是“面向?qū)ο蟆?,就象說不清楚什么是數(shù)學(xué)那樣。 軟件工程中的時(shí)髦術(shù)語“面向?qū)ο蠓治觥焙汀懊嫦驅(qū)ο笤O(shè)計(jì)”,通常是針對(duì)“需求分析”和“系統(tǒng)設(shè)計(jì)”環(huán)節(jié)的?!懊嫦?qū)ο蟆庇袔状髮W(xué)派,就象如來佛、上帝和真主用各自的方式定義了這個(gè)世界,并留下一堆經(jīng)書來解釋這個(gè)世界。 有些學(xué)者建議這樣找“對(duì)象”:分析一個(gè)句子的語法,找出名詞和動(dòng)詞, 名詞就是對(duì)象,動(dòng)詞則是對(duì)象的方法(即函數(shù))。 當(dāng)年國民黨的文人為了對(duì)抗毛澤東的《沁園春雪》,特意請(qǐng)清朝遺老們寫了一些對(duì)仗工整的詩,請(qǐng)蔣介石過目。老蔣看了氣得大罵:“娘希匹,全都有一股棺材里腐尸的氣味?!? 我看了幾千頁的軟件工程資料,終于發(fā)現(xiàn)自己有些“弱智”,無法理解“面向?qū)ο蟆钡睦碚摚瑫r(shí)醒悟到“編程是硬道理。” 面向?qū)ο蟪绦蛟O(shè)計(jì)語言很多,如 Smalltalk、 Ada、 Eiffel、 Object Pascal、 Visual Basic、C++等等。 C++語言最討人喜歡,因?yàn)樗嫒?C 語言,并且具備 C 語言的性 能。近幾年,一種叫 Java 的純面向?qū)ο笳Z言紅極一時(shí),不少人叫喊著要用 Java 革 C++的命。我認(rèn)為Java 好比是 C++的外甥,雖然不是直接遺傳的,但也幾分象樣。外甥在舅舅身上玩耍時(shí)灑了一泡尿,倆人不該為此而爭吵。 關(guān)于 C++程序設(shè)計(jì)的書藉非常多,本章不講 C++的語法,只講一些小小的編程道理。如果我能早幾年明白這些小道理,就可以大大改善數(shù)十萬行程序的質(zhì)量了。 C++面向?qū)ο蟪绦蛟O(shè)計(jì)的重要概念 早期革命影片里有這樣一個(gè)角色,他說:“我是黨代表,我代表黨,我就是黨?!焙髞硭o同志們帶來了災(zāi)難。 會(huì)用 C++的程序員一定懂得面向?qū)ο蟪绦蛟O(shè)計(jì)嗎? 不會(huì)用 C++的程序員一定不懂得面向?qū)ο蟪绦蛟O(shè)計(jì)嗎? 兩者都未必。就象壞蛋入黨后未必能成為好人,好人不入黨未必變成壞蛋那樣。 我不怕觸犯眾怒地說句大話:“ C++沒有高手, C 語言才有高手?!痹谟?C 和 C++編程 8 年之后,我深深地遺憾自己不是 C 語言的高手,更遺憾沒有人點(diǎn)撥我如何進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)。我和很多 C++程序員一樣,在享用到 C++語法的好處時(shí)便以為自己已經(jīng)明白了面向?qū)ο蟪绦蛟O(shè)計(jì)。就象擠掉牙膏賣牙膏皮那樣,真是暴殄天物呀。 人們不懂拼音也會(huì)講普通話,如果懂得拼音則會(huì)把 普通話講得更好。不懂面向?qū)ο蟪绦蛟O(shè)計(jì)也可以用 C++編程,如果懂得面向?qū)ο蟪绦蛟O(shè)計(jì)則會(huì)把 C++程序編得更好。本節(jié)講述三個(gè)非?;A(chǔ)的概念:“類與對(duì)象”、“繼承與組合”、“虛函數(shù)與多態(tài)”。理解這些 培訓(xùn)管理資料大全 《商務(wù)智庫》整理 培訓(xùn)管理資料大全 《商務(wù)智庫》整理 概念,有助于提高程序的質(zhì)量,特別是提高“可復(fù)用性”與“可擴(kuò)充性”。 類與對(duì)象 對(duì)象( Object)是類( Class)的一個(gè)實(shí)例( Instance)。如果將對(duì)象比作房子,那么類就是房子的設(shè)計(jì)圖紙。所以面向?qū)ο蟪绦蛟O(shè)計(jì)的重點(diǎn)是類的設(shè)計(jì),而不是對(duì)象的設(shè)計(jì)。 類可以將數(shù)據(jù)和函數(shù)封裝在一起,其中函數(shù)表示了類的行為(或 稱服務(wù))。類提供關(guān)鍵字 public、 protected 和 private 用于聲明哪些數(shù)據(jù)和函數(shù)是公有的、受保護(hù)的或者是私有的。這樣可以達(dá)到信息隱藏的目的,即讓類僅僅公開必須要讓外界知道的內(nèi)容,而隱藏其它一切內(nèi)容(參見 節(jié)“信息隱藏”)。我們不可以濫用類的封裝功能,不要把它當(dāng)成火鍋,什么東西都往里扔。 類的設(shè)計(jì)是以數(shù)據(jù)為中心,還是以行為為中心? 主張“以數(shù)據(jù)為中心”的那一派人關(guān)注類的內(nèi)部數(shù)據(jù)結(jié)構(gòu),他們習(xí)慣上將 private 類型的數(shù)據(jù)寫在前面,而將 public 類型的函數(shù)寫在后面,如表 (a)所示。 主 張“以行為為中心”的那一派人關(guān)注類應(yīng)該提供什么樣的服務(wù)和接口,他們習(xí)慣上將 public 類型的函數(shù)寫在前面,而將 private 類型的數(shù)據(jù)寫在后面,如表 (b)所示。 Class A { private: int i, j。 float x, y。 … public: void Func1(void)。 void Func2(void)。 … } class A { public: void Func1(void)。 void Func2(void)。 … private: int i, j。 float x, y。 … } 表 (a) 以數(shù)據(jù)為中心的書寫風(fēng)格 表 (b)以行為為中心的書寫風(fēng)格 很多 C++教課書主張?jiān)谠O(shè)計(jì)類時(shí)“以數(shù)據(jù)為中心”。我堅(jiān)持并且建議讀者在設(shè)計(jì)類時(shí)“以行為為中心”,即首先考慮類應(yīng)該提供什么樣的函數(shù)。 Microsoft 公司的 COM 規(guī)范的核心是接口設(shè)計(jì), C
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1