面向過(guò)程和面向過(guò)程
面向過(guò)程
:核心是過(guò)程二字,過(guò)程指的是解決問(wèn)題的步驟。編程的時(shí)候吸納吧解決問(wèn)題的步驟分析出來(lái),然后用函數(shù)把這些步驟實(shí)現(xiàn),在一步步的具體步驟中再按順序調(diào)用函數(shù)。適合簡(jiǎn)單任務(wù),不需要過(guò)多寫(xiě)作。
面向?qū)ο?/strong>
:核心是對(duì)象二字,對(duì)象是由屬性和方法組成的。編程的時(shí)候首先思考的是怎么設(shè)計(jì)這個(gè)事物。比如思考造車(chē),我們就會(huì)先思考“車(chē)怎么設(shè)計(jì)?”,而不是“怎么按步驟造車(chē)的問(wèn)題”。找輪胎廠完成制造輪胎的步驟,發(fā)動(dòng)機(jī)廠完成制造發(fā)動(dòng)機(jī)的步驟。這樣,發(fā)現(xiàn)大家可以同時(shí)進(jìn)行車(chē)的制造,最終進(jìn)行組裝,大大提高效率。
面向?qū)ο罂梢詭椭覀儚暮暧^上把握、從整體上分析。但是,具體到實(shí)現(xiàn)部分的微觀操作,仍然需要面向過(guò)程的思路去處理。我們千萬(wàn)不要把面向過(guò)程和面向?qū)ο髮?duì)立起來(lái)。他們是相輔相成的。面向?qū)ο箅x不開(kāi)面向過(guò)程。
一個(gè)經(jīng)典的比喻:面向?qū)ο笫巧w澆飯。蓋澆飯的好處就是“菜”“飯”分離,從而提高了制作蓋澆飯的靈活性。飯不滿(mǎn)意就換飯,菜不滿(mǎn)意換菜。用軟件工程的專(zhuān)業(yè)術(shù)語(yǔ)就是“可維護(hù)性”比較好,“飯” 和“菜”的耦合度比較低
類(lèi)和對(duì)象
類(lèi)
:一個(gè)比較抽象的概念,可以理解成生活中的‘“類(lèi)別”。
類(lèi)中的所有變量稱(chēng)為屬性
類(lèi)中所有的函數(shù)通常稱(chēng)為方法
對(duì)象
:具化到類(lèi)里面的個(gè)體。這樣講起來(lái)比較晦澀難懂,大白話(huà)來(lái)說(shuō),貓、狗、雞等屬于類(lèi),這里面的某只具體的個(gè)體,比如說(shuō)Toranto養(yǎng)的大金毛,Toranto養(yǎng)的英短,就屬于對(duì)象。
小明:“那是先有類(lèi)還是先有對(duì)象?”
Toranto:“Of course,當(dāng)然是先有對(duì)象再有類(lèi),我們劃分類(lèi)的標(biāo)準(zhǔn)是通過(guò)觀察對(duì)象的某些相似特征來(lái)劃分的,這么說(shuō)就很簡(jiǎn)單了吧?”
Toranto:“但是!程序中先有類(lèi)再有對(duì)象:先定義類(lèi),再通過(guò)類(lèi)實(shí)例化對(duì)象?!?/p>
小明:“你框我?”
Toranto:“有話(huà)好好說(shuō)...”
定義類(lèi)
Python中定義一個(gè)類(lèi)使用class關(guān)鍵字實(shí)現(xiàn)
在給類(lèi)起名字時(shí),建議每個(gè)單詞的首字母大寫(xiě),其它字母小寫(xiě)。
給類(lèi)起好名字之后,其后要跟有冒號(hào):,表示告訴 Python 解釋器,下面要開(kāi)始設(shè)計(jì)類(lèi)的內(nèi)部功能了,也就是編寫(xiě)類(lèi)屬性和類(lèi)方法。
類(lèi)屬性指的就是包含在類(lèi)中的變量,而類(lèi)方法指的是包含類(lèi)中的函數(shù)。
換句話(huà)說(shuō),類(lèi)屬性和類(lèi)方法其實(shí)分別是包含在類(lèi)中的變量和函數(shù)的別稱(chēng)。需要注意的一點(diǎn)是,同屬一個(gè)類(lèi)的所有類(lèi)屬性和類(lèi)方法,要保持統(tǒng)一的縮進(jìn)格式。

比如:

創(chuàng)建對(duì)象
創(chuàng)建類(lèi)對(duì)象的過(guò)程,又稱(chēng)為類(lèi)的實(shí)例化。
對(duì)已定義好的類(lèi)進(jìn)行實(shí)例化,其語(yǔ)法格式如下:

比如:

審核編輯:劉清
-
編程
+關(guān)注
關(guān)注
90文章
3716瀏覽量
97188 -
python
+關(guān)注
關(guān)注
57文章
4876瀏覽量
90032 -
解釋器
+關(guān)注
關(guān)注
0文章
103瀏覽量
6992
發(fā)布評(píng)論請(qǐng)先 登錄
惠州雷曼入選國(guó)家知識(shí)產(chǎn)權(quán)示范企業(yè)創(chuàng)建對(duì)象
羅萊迪思入選國(guó)家知識(shí)產(chǎn)權(quán)示范企業(yè)創(chuàng)建對(duì)象
芯原入選國(guó)家知識(shí)產(chǎn)權(quán)示范企業(yè)創(chuàng)建對(duì)象
C語(yǔ)言與C++的區(qū)別及聯(lián)系
C語(yǔ)言和C++之間的區(qū)別是什么
電纜故障監(jiān)測(cè)的對(duì)象及內(nèi)容
canopen如何通過(guò)對(duì)象字典控制外設(shè)?
一種適用于動(dòng)態(tài)環(huán)境的自適應(yīng)先驗(yàn)場(chǎng)景-對(duì)象SLAM框架
詳解面向?qū)ο螅ㄒ唬?/h1>
評(píng)論