? ? ? ? 無論是面向過程也好,面向?qū)ο笠擦T淳蔼,首先說的都是類和對象∏运撸“這個世界是由什么組成的豆胸?”奥洼,對于這個問題如果,仁者見仁智者見智配乱,不同文化背景溉卓,不同探索方向便會有不同的答案。我覺得分類學(xué)家的思考方式最為貼切搬泥,他們認(rèn)為這個世界是由不同類型的物與事所構(gòu)成的桑寨,與面向?qū)ο蟮乃枷胗胁恢\而合,異曲同工之妙忿檩。站在分類學(xué)家角度來思考這個世界尉尾,那么,這個世界是由動物燥透、植物等組成的沙咏,同樣動物又分為單細(xì)胞動物、多細(xì)胞動物班套、哺乳動物等肢藐,哺乳動物又分為人、大象吱韭、老虎……
? ? ? ?綜上所推吆豹,“類”的概念,呼之欲出理盆。那么什么是“類”呢痘煤?還是很抽象對吧,那好猿规,我們先來討論另一個問題衷快,“什么是人類?”
? ? ? ?首先讓我們來探究一下人類所具有的一些特征姨俩,這個特征包括屬性(一些參數(shù)蘸拔,數(shù)值)以及方法(一些行為,就是人能干什么)环葵。每個人都有身高都伪、體重、年齡积担、血型等一些屬性。人會思考猬仁、會勞動帝璧、能創(chuàng)造原自然界沒有的東西等一些方法先誉。人之所以能區(qū)別于其它類型的動物,是因?yàn)槊總€人都具有人這個群體的屬性與方法的烁『侄“人類”就是一個抽象的概念,它只能依附于所有的人的存在而存在渴庆。試想一下铃芦,如果沒有了人,那么再來說“人類”這個概念似乎毫無意義襟雷。我們之所以提出“人類”的概念刃滓,是因?yàn)槲覀兛梢酝ㄟ^“人類”來了解每個人,每個人都是具有“人類”這個群體的所有屬性與方法的對象耸弄,而這個對象“人”是實(shí)際存在的實(shí)體咧虎。理解了“人類”概念,我們來看一看老虎计呈,老虎不具備人“人類”的屬性與方法砰诵,老虎不會直立行走,不會使用工具等等捌显,所以說老虎不是人茁彭。
? ? ? ?究竟什么是“類”?現(xiàn)在想必大家都茅塞頓開扶歪、豁然開朗理肺。對,沒錯击罪,“類”就是描述了一組有相同特性(屬性)和相同行為(方法)的集合哲嘲。在程序中,類實(shí)際上就是數(shù)據(jù)類型媳禁。例如:整數(shù)眠副,小數(shù)等等。整數(shù)也有一組特性和行為竣稽。面向過程與面相對象的區(qū)別就在于囱怕,面向過程不允許程序員自己定義數(shù)據(jù)類型,而只能使用程序中內(nèi)置的數(shù)據(jù)類型毫别。為了模擬真實(shí)世界娃弓,為了更好的解決問題,而我們往往需要創(chuàng)建解決問題所必需的數(shù)據(jù)類型岛宦,面向?qū)ο缶幊趟枷霊?yīng)運(yùn)而生台丛、蓬勃發(fā)展。
深入探究面向?qū)ο笏枷耄?/b>
? ? ? ?面向?qū)ο蟮木幊趟枷胱畲蟮奶厣褪强梢跃帉懽约核璧臄?shù)據(jù)類型,以更好的解決問題挽霉。我們必須要搞清楚“類防嗡,對象,屬性侠坎,方法它們之間的關(guān)系”蚁趁。就像前面我所說的,“人類”是什么也做不了的实胸,它不實(shí)際存在他嫡,只依附于人的存在而存在。由此可知庐完,“類”就是對對象的描述钢属,是抽象概念。對象從類中產(chǎn)生出來假褪,是實(shí)實(shí)在在存在的署咽、具體的,因此生音,對象具有類所描述的所有的屬性以及方法宁否。
? ? ? 再舉個例子,例如吃飯這個行為方式缀遍,怎么樣實(shí)現(xiàn)“吃飯”呢慕匠,一般我們的思維模式就是,把飯煮熟域醇,用碗盛飯台谊,拿筷子,然后一口一口的吃飯譬挚。對锅铅,描述的還算詳細(xì),這是面向過程的思維模式减宣,容易想到盐须,卻難以全面。無法實(shí)現(xiàn)更多可供選擇功能漆腌,再次開發(fā)更改困難贼邓。面向?qū)ο蟮乃季S方式,首先闷尿,吃飯塑径,需要一個主體來實(shí)施這個行為,因此我們需要一個“類”填具,這個類中有“吃飯”這個方法统舀。我們要完成吃飯,就用“類”產(chǎn)生一個對象,通過對象來調(diào)用類中吃飯的方法绑咱,就可以完成吃飯绰筛。還可以添加多種功能,后期修改容易描融。這時候,雖然還是沒實(shí)現(xiàn)吃飯這個方法衡蚂,僅僅只是調(diào)用了原有類的方法窿克,如果原本就沒有這個類和類種方法,又該如何毛甲?這個問題大家想過年叮,那些編程語言的創(chuàng)始人肯定也想到過,他們已經(jīng)將大部分的方法寫好并進(jìn)行了封裝玻募,我們只需要通過上述的方式調(diào)用即可≈凰穑現(xiàn)成沒有的功能方法,我們也可以按照面向?qū)ο笏季S方式來創(chuàng)建一個類七咧,再為這個類賦予我們需要的方法跃惫,以后我們就可以通過類產(chǎn)生對象來調(diào)用相應(yīng)的方法。
本文部分摘自it985博客中的sunny的文章面向?qū)ο缶幊趟枷耄ㄒ唬?/p>