信息技術(shù):99什么是面向?qū)ο驪ython面向?qū)ο螅ㄒ磺薪詫?duì)象)_第1頁
信息技術(shù):99什么是面向?qū)ο驪ython面向?qū)ο螅ㄒ磺薪詫?duì)象)_第2頁
信息技術(shù):99什么是面向?qū)ο驪ython面向?qū)ο螅ㄒ磺薪詫?duì)象)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、什么是面向?qū)ο?Python面向?qū)ο螅ㄒ磺薪詫?duì)象) 讀者肯定聽過Python中一切皆對(duì)象”的說法,但可能并不了解它的具體含義,只是在學(xué) 習(xí)的時(shí)候聽說Python是面向?qū)ο蟮木幊陶Z言,本節(jié)將向大家詳細(xì)介紹Python面向?qū)ο?的含義。面向?qū)ο缶幊淌窃诿嫦蜻^程編程的基礎(chǔ)上開展來的,它比面向過程編程具有更強(qiáng)的靈活性和 擴(kuò)展性。面向?qū)ο缶幊淌浅绦騿T開展的分水嶺,很多初學(xué)者會(huì)因無法理解面向?qū)ο蠖艞墝W(xué) 習(xí)編程。面向?qū)ο缶幊蹋∣bject-oriented Programming ,簡(jiǎn)稱OOP ),是一種封裝代碼的方法。 其實(shí),在前面章節(jié)的學(xué)習(xí)中,我們已經(jīng)接觸了封裝,比方說,將亂七八糟的數(shù)據(jù)扔進(jìn)列表中,

2、這就是一種簡(jiǎn)單的封裝,是數(shù)據(jù)層面的封裝;把常用的代碼塊打包成一個(gè)函數(shù),這也是一種 封裝,是語句層面的封裝。代碼封裝,其實(shí)就是隱藏實(shí)現(xiàn)功能的具體代碼,僅留給用戶使用的接口,就好像使用計(jì)算機(jī), 用戶只需要使用鍵盤、鼠標(biāo)就可以實(shí)現(xiàn)一些功能,而根本不需要知道其內(nèi)部是如何工作的。本節(jié)所講的面向?qū)ο缶幊?,也是一種封裝的思想,不過顯然比以上兩種封裝更先進(jìn),它可以 更好地模擬真實(shí)世界里的事物(將其視為對(duì)象),并把描述特征的數(shù)據(jù)和代碼塊(函數(shù))封 裝到一起。打個(gè)比方,假設(shè)在某游戲中設(shè)計(jì)一個(gè)烏龜?shù)慕巧?,?yīng)該如何來實(shí)現(xiàn)呢?使用面向?qū)ο蟮乃枷霑?huì) 更簡(jiǎn)單,可以分為如下兩個(gè)方面進(jìn)行描述:從外表特征來描述,例如,綠色的、有

3、4條腿、重10 kg、有外殼等等。從所具有的的行為來描述,例如,它會(huì)爬、會(huì)吃東西、會(huì)睡覺、會(huì)將頭和四肢縮到殼里,等等。如果將烏龜用代碼來表示,那么其外表特征可以用變量來表示,其行為特征可以通過建立各種函數(shù)來表示。參考代碼如下所示:class tortoise:bodyColor =綠色”footNum = 4weight = 10hasShell = True#會(huì)爬def crawl(self):print(烏龜會(huì)爬”)#會(huì)吃東西def eat(self):print(“烏龜吃東西”)#會(huì)睡覺def sleep(self):print(“烏龜在睡覺”)#會(huì)縮到殼里def protect(sel

4、f):print(“烏龜縮進(jìn)了殼里“)注意,以上代碼僅是為了演示面向?qū)ο蟮木幊趟枷?,具體細(xì)節(jié)后續(xù)會(huì)做詳細(xì)介紹。因此,從某種程序上,相比擬只用變量或只用函數(shù),使用面向?qū)ο蟮乃枷肟梢愿玫啬M現(xiàn)實(shí)生活中的事物。不僅如此,在Python中,所有的變量其實(shí)也都是對(duì)象,包括整形(int )、浮點(diǎn)型(float). 字符串(str)、列表(list)、元組(tuple)、字典(diet)和集合(set) o以字典(diet)為 例,它包含多個(gè)函數(shù)供我們使用,例如使用keys()獲取字典中所有的鍵,使用values()獲 取字典中所有的值,使用item()獲取字典中所有的鍵值對(duì),等等。面向?qū)ο笙嚓P(guān)術(shù)語在系統(tǒng)

5、學(xué)習(xí)面向?qū)ο缶幊讨?,初學(xué)者要了解有關(guān)面向?qū)ο蟮囊恍┬g(shù)語。當(dāng)和其他人討論代 碼的時(shí)候,或者嘗試查找我們遇到的問題的解決方案時(shí),知道正確的術(shù)語會(huì)很有幫助。面向?qū)ο笾校S眯g(shù)語包括:類:可以理解是一個(gè)模板,通過它可以創(chuàng)立出無數(shù)個(gè)具體實(shí)例。比方,前面編寫的 tortoise表示的只是烏龜這個(gè)物種,通過它可以創(chuàng)立出無數(shù)個(gè)實(shí)例來代表各種不同特征的 烏龜(這一過程又稱為類的實(shí)例化)。對(duì)象:類并不能直接使用,通過類創(chuàng)立出的實(shí)例(又稱對(duì)象)才能使用。這有點(diǎn)像 汽車圖紙和汽車的關(guān)系,圖紙本身(類)并不能為人們使用,通過圖紙創(chuàng)立出的一輛輛車(對(duì) 象)才能使用。屬性:類中的所有變量稱為屬性。例如,tortoise這個(gè)類中,bodyColor、footNum、 weight hasShell都是這個(gè)類擁有的屬性。方法:類中的所有函數(shù)通常稱為方法。不過,和函數(shù)所有不同的是,類方法至少要 包含一個(gè)self參數(shù)(后續(xù)會(huì)做詳細(xì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論