前言:整理這份資料的目的是為了幫助朋友們能夠更直觀的理解面向?qū)ο蟮木幊獭W尯髞碚吣軌蛏僮咭恍⿵澛。但其中不免有許多漏洞及錯誤,也還請前輩提出寶貴的更改意見,畢竟交流會讓我們不斷的進(jìn)步。
技術(shù)是日新月異的,他不會等待你的成長。技術(shù)要拿出來于別人交流,自己學(xué)是自己主觀意識上的理解,有對有錯!交流會讓進(jìn)步變得更快。我認(rèn)為如果計算機的體系結(jié)構(gòu)不發(fā)生革命性的變化,我們現(xiàn)在所應(yīng)用的程序語言也就百變不離奇蹤了!學(xué)編程學(xué)的是什么?思想!精通一門編程語言(最好是面向?qū)ο蟮恼Z言)后再去搞其他的編程語言,你會發(fā)現(xiàn)過程是如此的行云流水!為什么?你已經(jīng)把編程的思想掌握了,再去學(xué)其他的,無非是學(xué)習(xí)一種新的語法格式了。
我在這里并不是和你討論怎么去用C++或JAVA,也不是和你討論怎么去學(xué)他們,我要和你討論的是怎么去理解面向?qū)ο蟆F渲兄饕獣婕暗健邦悺ο、繼承、屬性、方法、靜態(tài)、重載、隱藏、重構(gòu)、聲明、定義、初始化、賦值等”其中有許多相關(guān)技術(shù)我只會一代而過,讓你有一種到此一游的意味我就達(dá)到目的了,而更詳細(xì)的技術(shù)內(nèi)幕,就請參考其他相關(guān)書籍而深入研究吧!因為我只是在和你探討如何去更好的理解面向?qū)ο螅?/P>
如何去提高效率?重復(fù)使用資源,把別人的東西拿來就用。這是很不錯的主意!而對于你來說,最大的資源就是信心以及積極性!好,打起精神來,讓我們一同到面向?qū)ο蟮木幊讨腥び脑L勝吧!
注:文章中所有程序?qū)嵗叶际褂肑AVA寫的,當(dāng)然在C++中也就大同小異了了,不同的地方我會指出!
注:文章中的正文文字用黑色,說明文字用藍(lán)色,強調(diào)文字用橙色,批改文字用紅色!
正文:
1.基本概念:
1.1 類與對象的初探
要我說,無論是面向過程的語言也好,面向?qū)ο蟮恼Z言也罷,我首先要給他講的都是類和對象!--------“這個世界是由什么組成的?”這個問題如果讓不同的人來回答會得到不同的答案。如果是一個化學(xué)家,他也許會告訴你“還用問嘛?這個世界是由分子、原子、離子等等的化學(xué)物質(zhì)組成的”。如果是一個畫家呢?他也許會告訴你,“這個世界是由不同的顏色所組成的”。……呵呵,眾說紛紜吧!但如果讓一個分類學(xué)家來考慮問題就有趣的多了,他會告訴你“這個世界是由不同類型的物與事所構(gòu)成的”好!作為面向?qū)ο蟮某绦騿T來說,我們要站在分類學(xué)家的角度去考慮問題!是的,這個世界是由動物、植物等組成的。動物又分為單細(xì)胞動物、多細(xì)胞動物、哺乳動物等等,哺乳動物又分為人、大象、老虎……就這樣的分下去了!
現(xiàn)在,站在抽象的角度,我們給“類”下個定義吧!我的意思是,站在抽象的角度,你回答我“什么是人類?”首先讓我們來看看人類所具有的一些特征,這個特征包括屬性(一些參數(shù),數(shù)值)以及方法(一些行為,他能干什么。。每個人都有身高、體重、年齡、血型等等一些屬性。人會勞動、人都會直立行走、人都會用自己的頭腦去創(chuàng)造工具等等這些方法!人之所以能區(qū)別于其它類型的動物,是因為每個人都具有人這個群體的屬性與方法!叭祟悺敝皇且粋抽象的概念,它僅僅是一個概念,它是不存在的實體!但是所有具備“人類”這個群體的屬性與方法的對象都叫人!這個對象“人”是實際存在的實體!每個人都是人這個群體的一個對象。老虎為什么不是人?因為它不具備人這個群體的屬性與方法,老虎不會直立行走,不會使用工具等等!所以說老虎不是人!
由此可見-------類描述了一組有相同特性(屬性)和相同行為(方法)的對象。在程序中,類實際上就是數(shù)據(jù)類型!例如:整數(shù),小數(shù)等等。整數(shù)也有一組特性和行為。面向過程的語言與面相對象的語言的區(qū)別就在于,面向過程的語言不允許程序員自己定義數(shù)據(jù)類型,而只能使用程序中內(nèi)置的數(shù)據(jù)類型!而為了模擬真實世界,為了更好的解決問題,往往我們需要創(chuàng)建解決問題所必需的數(shù)據(jù)類型!面向?qū)ο缶幊虨槲覀兲峁┝私鉀Q方案。
出處:相關(guān)論壇
責(zé)任編輯:冰點的冰藍(lán)色
上一頁 下一頁 內(nèi)置數(shù)據(jù)類型與函數(shù)
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|