版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第11章
面向?qū)ο缶幊蹋ㄉ希っ嫦驅(qū)ο缶幊獭?/p>
類和對(duì)象·
構(gòu)造方法和析構(gòu)方法·
self的使用·運(yùn)算符重載了解掌握掌握掌握
學(xué)習(xí)目標(biāo)了解面向?qū)ο缶幊趟枷?2掌握類和對(duì)象的定義和使用掌握self的使用34掌握構(gòu)造方法的使用01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法目錄頁04self的使用05運(yùn)算符重載過渡頁01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法04self的使用05運(yùn)算符重載01面向?qū)ο缶幊谈攀雒嫦驅(qū)ο蟪绦騿T“面向?qū)ο蟆痹诂F(xiàn)實(shí)世界中存在各種不同形態(tài)的事物,這些事物之間存在著各種各樣的聯(lián)系。在程序中使用對(duì)象來映射現(xiàn)實(shí)中的事物,使用對(duì)象間的關(guān)系來描述事物之間的聯(lián)系,這種思想就是面向?qū)ο蟆>幊趟枷?/p>
實(shí)現(xiàn)步驟特點(diǎn)面向過程開始游戲先分析解決問題的步驟使用函數(shù)把這些步驟以此實(shí)現(xiàn)使用的時(shí)候需要逐個(gè)調(diào)用函數(shù)黑子先走繪制畫面輪到白子。繪制畫面判斷輸贏返回步驟2輸出最后結(jié)果面向?qū)ο蠛诎纂p方:這兩方的行為一樣把解決問題的事物分為多個(gè)對(duì)象對(duì)象具備解決問題過程中的行為棋盤系統(tǒng):負(fù)責(zé)繪制畫面規(guī)則系統(tǒng):負(fù)責(zé)判斷諸如犯規(guī)、輸贏等。分別使用面向過程和面向?qū)ο髞韺?shí)現(xiàn)五子棋面向?qū)ο笕艏尤牖谄骞δ?,面向過程和面向?qū)ο?,分別怎么實(shí)現(xiàn)呢?面向過程面向?qū)ο髲妮斎氲脚袛嗟斤@示的一系列步驟都需要改動(dòng)只需要改動(dòng)棋盤對(duì)象就可以更簡(jiǎn)便!面向?qū)ο筮^渡頁01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法04self的使用05運(yùn)算符重載02類和對(duì)象類和對(duì)象的關(guān)系面向?qū)ο缶幊逃袃蓚€(gè)非常重要的概念:類和對(duì)象。對(duì)象是面向?qū)ο缶幊痰暮诵?。具有相似特征和行為的事物的集合統(tǒng)稱為類
對(duì)象是根據(jù)類創(chuàng)建的,一個(gè)類可以對(duì)應(yīng)多個(gè)對(duì)象。類和對(duì)象的關(guān)系可以把玩具模型看作一個(gè)類把每個(gè)玩具看作一個(gè)對(duì)象類的定義類是由3部分組成的:類的名稱:類名,首字母必須大寫,比如Person。類的屬性:一組數(shù)據(jù),比如性別。類的方法:允許進(jìn)行操作的方法,比如說話。類的定義使用class關(guān)鍵字來聲明一個(gè)類,基本格式如下:
class類名:
類的屬性
類的方法語法格式根據(jù)類創(chuàng)建對(duì)象根據(jù)類創(chuàng)建對(duì)象的語法格式如下:
對(duì)象名=類名()要想給對(duì)象添加屬性,可以通過如下方式:對(duì)象名.新的屬性名=值過渡頁01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法04self的使用05運(yùn)算符重載03構(gòu)造方法和析構(gòu)方法構(gòu)造方法構(gòu)造方法指的是__init__方法。當(dāng)創(chuàng)建類的實(shí)例的時(shí)候,系統(tǒng)會(huì)自動(dòng)調(diào)用構(gòu)造方法,從而實(shí)現(xiàn)對(duì)類進(jìn)行初始化的操作。構(gòu)造方法classCar: def__init__(self):self.color=“黑色” deftoot(self):
print("%s的車在鳴笛..."%(self.color))
bmw=Car("雪山白")析構(gòu)方法當(dāng)刪除一個(gè)對(duì)象來釋放類所占用資源的時(shí)候,Python解釋器默認(rèn)會(huì)調(diào)用另外一個(gè)方法,這個(gè)方法就是__del__()方法。__del__方法被稱為析構(gòu)方法。過渡頁01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法04self的使用05運(yùn)算符重載04self的使用self的使用在方法的列表中,第1個(gè)參數(shù)永遠(yuǎn)都是self。self的字面意思是自己,我們可以把它當(dāng)做C++里面的this指針理解,表示的是對(duì)象自身。當(dāng)某個(gè)對(duì)象調(diào)用方法的時(shí)候,Python解釋器會(huì)把這個(gè)對(duì)象作為第1個(gè)參數(shù)傳給self,開發(fā)者只需要傳遞后面的參數(shù)就可以了。self的使用classDog:def__init__(self,newColor):self.color=newColordefprintColor(self):
print("顏色為:%s"%self.color)
dog1=Dog("白色")
dog1.printColor()
示例:過渡頁01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法04self的使用05運(yùn)算符重載05運(yùn)算符重載運(yùn)算符重載是通過實(shí)現(xiàn)特定的方法使類的實(shí)例對(duì)象支持Python的各種內(nèi)置操作。例如:+運(yùn)算符是類里提供的__add__這個(gè)函數(shù),當(dāng)調(diào)用+實(shí)現(xiàn)加法運(yùn)算的時(shí)候,實(shí)際上是調(diào)用了__add__方法。運(yùn)算符重載運(yùn)算符重載方法說明何時(shí)調(diào)用方法__add__加法運(yùn)算對(duì)象加法:x+y,x+=y
__sub__減法運(yùn)算對(duì)象減法:x-y,x-=y
__mul__乘法運(yùn)算對(duì)象乘法:x*y,x*=y
__diy__除法運(yùn)算對(duì)象除法:x/y,x/=y
__getitem__索引,分片x[i]、x[i:j]、沒有__iter__的for循環(huán)等__setitem__索引賦值x[i]=值、x[i:j]=序列對(duì)象__delitem__索引和分片刪除delx[i]、delx[i:j]
加法運(yùn)算符重載加法運(yùn)算是通過調(diào)用__add__方法完成重載的,當(dāng)兩個(gè)實(shí)例對(duì)象執(zhí)行加法運(yùn)算時(shí),自動(dòng)調(diào)用__add__方法。z=x+y執(zhí)行加法運(yùn)算,實(shí)質(zhì)是調(diào)用__add__方法索引和分片重載跟索引相關(guān)的重載方法包括如下3個(gè):__getitem__:索引、分片;__setitem__:索引賦值;__delitem__:索引和分片刪除。1.
__getitem__方法在對(duì)實(shí)例對(duì)象執(zhí)行索引、分片或者for迭代操作時(shí),會(huì)自動(dòng)調(diào)用__getitem__方法。索引和分片重載#定義索引、分片運(yùn)算符重載方法def__getitem__(self,index):returnself.data[index]2.
__setitem__方法通過賦值語句給索引或者分片賦值時(shí),調(diào)用__setitem__方法實(shí)現(xiàn)對(duì)序列對(duì)象的修改。索引和分片重載def__setitem__(self,index,value):self.data[index]=value3.
__delitem__方法當(dāng)調(diào)用del方法時(shí),實(shí)質(zhì)上會(huì)調(diào)用__delitem__方法實(shí)現(xiàn)刪除操作。索引和分片重載def__delitem__(self,index):delself.data[in
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石坎施工方案
- 培訓(xùn)機(jī)構(gòu)消防施工方案
- 關(guān)于施工方案
- 美麗人生觀后感
- 二零二五年度私人房產(chǎn)全款買賣合同(限智能家居)
- 甲乙丙方2025年度轉(zhuǎn)租健身房租賃合同
- 2025年度電力工程安全防護(hù)電力勞務(wù)分包合同模板
- 二零二五年度生物樣本低溫保管與共享協(xié)議
- 工傷事故賠償及職工權(quán)益保護(hù)協(xié)議2025年度范本
- 二零二五年度科技孵化器場(chǎng)地租賃管理服務(wù)合同
- 財(cái)務(wù)人員防騙技巧培訓(xùn)課件
- 交替?zhèn)髯g課件外研社王丹
- 人教版(2024)八年級(jí)下冊(cè)物理第九章《壓強(qiáng)》第4節(jié) 跨學(xué)科實(shí)踐:制作簡(jiǎn)易活塞式抽水機(jī) 教案
- 《餐飲業(yè)概述》課件 - 探索美食與服務(wù)之道
- 2024年黑龍江生態(tài)工程職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年哈爾濱電力職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年金鑰匙科技知識(shí)競(jìng)賽試題及答案
- 第01課 身邊的算法 課件
- 運(yùn)用HFMEA品管工具優(yōu)化輸血全流程醫(yī)院品質(zhì)管理案例(血液科輸血科信息科醫(yī)務(wù)科護(hù)理部)
- 機(jī)器人操作系統(tǒng)(ROS)課件 10 ROS 機(jī)器人仿真實(shí)驗(yàn)
- 醫(yī)療設(shè)備維保投標(biāo)方案(技術(shù)方案)
評(píng)論
0/150
提交評(píng)論