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