OOP(ObjectOrientedPrograming)編程是利用“類”和“對(duì)象”來創(chuàng)建各種模型來實(shí)現(xiàn)對(duì)真實(shí)世界的描述。
怎么說呢?
核心是“對(duì)象”二字,要理解對(duì)象為何物,必須把自己當(dāng)成上帝,在上帝眼里,世間存在的萬物皆為對(duì)象,不存在的也可以創(chuàng)造出來。程序員基于面向?qū)ο笤O(shè)計(jì)程序就好比如來設(shè)計(jì)西游記,如來要解決的問題是把經(jīng)書傳給東土大唐,如來并沒有考慮問題的解決流程,而是設(shè)計(jì)出了負(fù)責(zé)取經(jīng)的師傅四人:唐僧,沙和尚,豬八戒,孫悟空,負(fù)責(zé)騷擾的一群妖魔鬼怪,以及負(fù)責(zé)保駕護(hù)航的一眾神仙,這些全都是對(duì)象,然后取經(jīng)開始,就是師徒四人與妖魔鬼怪神仙交互著直到完成取經(jīng)任務(wù)。所以說基于面向?qū)ο笤O(shè)計(jì)程序就好比在創(chuàng)造一個(gè)世界,世界是由一個(gè)個(gè)對(duì)象組成,而你就是這個(gè)世界的上帝。
我們從西游記中的任何一個(gè)人物對(duì)象都不難總結(jié)出:對(duì)象是特征與技能的結(jié)合體。比如孫悟空的特征是:毛臉雷公嘴,技能是:七十二變、火眼金睛等。
與面向過程機(jī)械式的思維方式形成鮮明對(duì)比,面向?qū)ο蟾幼⒅貙?duì)現(xiàn)實(shí)世界而非流程的模擬,是一種“上帝式”的思維方式。
面向過程==個(gè)人視角
我要去做大保健,我只需考慮,我有沒有錢,去哪家店,怎么去,做什么價(jià)位的就可以,
你的每一步都要通過程序定義出來,寫死了,在這個(gè)程序里,你只被設(shè)定了去做大保健的功能,
你說中途我想去個(gè)ktv,那可能會(huì)導(dǎo)致整個(gè)程序的邏輯都得更改。用面向過程的方式寫代碼,
那你care的就是整個(gè)事情的執(zhí)行過程
面向?qū)ο?=上帝視角
如果你是上帝,你現(xiàn)在要?jiǎng)?chuàng)世紀(jì),把這么多人、動(dòng)物、山河造出來,上帝光靠自己干,
一個(gè)一個(gè)的造人,多累呀,讓你干這個(gè)活,你肯定是先造模子,一個(gè)男人模子,
一個(gè)女人模子,剩下的就一個(gè)個(gè)復(fù)制就行啦。這個(gè)模子的作用是什么?
模子定義了人這個(gè)物種所具備的所有特征\(或者說,我們把具備這些特征的個(gè)體歸為人類\)。
這個(gè)世界上所有的東西都是你定義的,你需要用最高效的方式去造世界,
最高效的方式就是,先把世界按物種、樣貌、有無生命等各種維度分類,
然后給每類東西建模型,再讓其在不脫離你基本橫型定義的框架下,
自我繁衍(世界要多姿多彩,所以即使是同一物種,也要有些不一樣)
以上內(nèi)容為大家介紹了Python之什么是面向?qū)ο?,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。