Python編程基礎(chǔ)(第3版)(微課版)課件 6.1 認(rèn)識面向?qū)ο缶幊蘝第1頁
Python編程基礎(chǔ)(第3版)(微課版)課件 6.1 認(rèn)識面向?qū)ο缶幊蘝第2頁
Python編程基礎(chǔ)(第3版)(微課版)課件 6.1 認(rèn)識面向?qū)ο缶幊蘝第3頁
Python編程基礎(chǔ)(第3版)(微課版)課件 6.1 認(rèn)識面向?qū)ο缶幊蘝第4頁
Python編程基礎(chǔ)(第3版)(微課版)課件 6.1 認(rèn)識面向?qū)ο缶幊蘝第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

認(rèn)識面向?qū)ο缶幊?體會面向?qū)ο髮?shí)例目錄面向?qū)ο缶幊碳跋嚓P(guān)內(nèi)容2面向?qū)ο蟮膬?yōu)點(diǎn)3何時(shí)使用面向?qū)ο缶幊?面向?qū)ο缶幊蹋∣bject-OrientedProgramming,OOP)即面向?qū)ο蟪绦蛟O(shè)計(jì)。在面向?qū)ο缶幊讨?,以類來?gòu)造現(xiàn)實(shí)世界中的事物和情景,再基于類創(chuàng)建對象來幫助用戶進(jìn)一步認(rèn)識、理解、刻畫這些事物和情景?;陬悇?chuàng)建的對象都會自動帶有類的屬性和特點(diǎn),還可以根據(jù)實(shí)際需要賦予每個(gè)對象特有的屬性,這個(gè)過程稱為類的實(shí)例化。從面向?qū)ο蟮脑O(shè)計(jì)(Object-OrientedDesign,OOD)的角度來看,類往往是由現(xiàn)實(shí)對象抽象而來的,抽象類可以看作基于類的進(jìn)一步抽象。從實(shí)現(xiàn)角度來看,抽象類與普通類的不同之處在于:抽象類中可以包含抽象方法(沒有實(shí)現(xiàn)功能),此類不能被實(shí)例化,只能被繼承使用,且子類必須實(shí)現(xiàn)其中抽象方法。1.面向?qū)ο缶幊堂嫦驅(qū)ο蠓椒ǎ∣bject-OrientedMethod,OOM),是在軟件開發(fā)過程中以“對象”為中心,用面向?qū)ο蟮乃枷雭碇笇?dǎo)開發(fā)活動的系統(tǒng)方法。正如研究面向?qū)ο蠓椒ǖ膶<液蛯W(xué)者所說,面向?qū)ο蠓椒ㄍ?0世紀(jì)70年代的結(jié)構(gòu)化方法一樣,對計(jì)算機(jī)技術(shù)的應(yīng)用產(chǎn)生了巨大的影響,而且一直在強(qiáng)烈地影響和促進(jìn)一系列高技術(shù)的發(fā)展和多學(xué)科的融合。2.面向?qū)ο蠓椒◤?0世紀(jì)80年代起,面向?qū)ο蟪绦蛟O(shè)計(jì)成了一種主導(dǎo)思想,但一直沒有專門的面向?qū)ο蟪绦蛟O(shè)計(jì)的語言。后因客觀需求的推動,人們進(jìn)行了大量理論研究和實(shí)踐探索,不同類型的面向?qū)ο笳Z言(如Eiffel、C++、Java、Object-Pascal等)得以產(chǎn)生和發(fā)展,逐步解決了兼容性和維護(hù)性等問題。3.面向?qū)ο缶幊陶Z言1體會面向?qū)ο髮?shí)例目錄面向?qū)ο缶幊碳跋嚓P(guān)內(nèi)容2面向?qū)ο蟮膬?yōu)點(diǎn)3何時(shí)使用面向?qū)ο缶幊?面向過程是分析解決問題所需要的步驟,然后用函數(shù)一步步實(shí)現(xiàn)這些步驟。面向?qū)ο笫菍?gòu)成問題的事物分解成各個(gè)對象,創(chuàng)建對象是為了描述某個(gè)事物在解決問題過程中的行為。例如五子棋,面向過程的設(shè)計(jì)思路是分析解決問題的步驟,將每個(gè)步驟分別用函數(shù)來實(shí)現(xiàn),從而使問題得到解決,如下圖。而面向?qū)ο蟮脑O(shè)計(jì)則基于以下思路來解決問題:將五子棋分為3類對象,一是黑白雙方,雙方的行為是一模一樣的;二是棋盤系統(tǒng),負(fù)責(zé)繪制畫面;三是規(guī)則系統(tǒng),負(fù)責(zé)判斷諸如犯規(guī)、輸贏等。體會面向?qū)ο髮?shí)例可以看到,面向?qū)ο笫且怨δ軄韯澐謫栴}的,而不是循環(huán)步驟。同樣是繪制棋局,在面向過程的設(shè)計(jì)中,需要多個(gè)步驟來執(zhí)行該任務(wù),但這樣很可能會導(dǎo)致不同步驟繪制棋局的程序不同,因此程序設(shè)計(jì)人員會根據(jù)實(shí)際情況對繪制棋局的程序進(jìn)行調(diào)整。而在面向?qū)ο蟮脑O(shè)計(jì)中,繪圖只可能在第2類對象中出現(xiàn),由此可以保證繪制棋局程序的統(tǒng)一。體會面向?qū)ο髮?shí)例1體會面向?qū)ο髮?shí)例目錄面向?qū)ο缶幊碳跋嚓P(guān)內(nèi)容2面向?qū)ο蟮膬?yōu)點(diǎn)3何時(shí)使用面向?qū)ο缶幊?面向?qū)ο笥幸韵?個(gè)優(yōu)點(diǎn)。(1)基于數(shù)據(jù)抽象的概念,面向?qū)ο罂梢栽诒3滞獠拷涌诓蛔兊那闆r下對內(nèi)部進(jìn)行修改,從而減少甚至避免對外界的干擾。(2)面向?qū)ο笸ㄟ^繼承可以大幅減少冗余代碼,并可以方便地?cái)U(kuò)展現(xiàn)有代碼,提高編碼效率,降低出錯(cuò)概率及軟件維護(hù)難度。(3)結(jié)合面向?qū)ο蠓治?、面向?qū)ο蟮脑O(shè)計(jì),面向?qū)ο笤试S將問題中的對象直接映射到程序中,簡化了在軟件開發(fā)過程中中間環(huán)節(jié)的轉(zhuǎn)換過程。面向?qū)ο蟮膬?yōu)點(diǎn)1體會面向?qū)ο髮?shí)例目錄面向?qū)ο缶幊碳跋嚓P(guān)內(nèi)容2面向?qū)ο蟮膬?yōu)點(diǎn)3何時(shí)使用面向?qū)ο缶幊?在人工智能系統(tǒng)中,每個(gè)智能體或代理被看作一個(gè)類,具體的某個(gè)智能體或代理就是其中某個(gè)類的一個(gè)實(shí)例對象,所以每個(gè)智能體或代理的程序都具有一定的獨(dú)

溫馨提示

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

最新文檔

評論

0/150

提交評論