版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、面向?qū)ο蟪绦蛟O(shè)計(jì)概述,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,2,面向過程就是 分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),使用的時候一個一個依次調(diào)用就可以了。 面向?qū)ο笫前褬?gòu)成問題事務(wù)分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。通過對象的功能解決問題。,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,3,例如五子棋,面向過程的設(shè)計(jì)思路就是首先分析問題的步驟: 1、開始游戲, 2、黑子先走, 3、繪制畫面, 4、判斷輸贏, 5、輪到白子, 6、繪制畫面, 7、判斷輸贏, 8、返回步驟2, 9、輸出最后結(jié)果。 把上面每個步驟
2、用分別的函數(shù)來實(shí)現(xiàn),問題就解決了。,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,4,而面向?qū)ο蟮脑O(shè)計(jì)則是從另外的思路來解決問題。整個五子棋可以分為: 1、黑白雙方,這兩方的行為是一模一樣的, 2、棋盤系統(tǒng),負(fù)責(zé)繪制畫面, 3、規(guī)則系統(tǒng),負(fù)責(zé)判定諸如犯規(guī)、輸贏等。 第一類對象(玩家對象)負(fù)責(zé)接受用戶輸入,并告知第二類對象(棋盤對象)棋子布局的變化,棋盤對象接收到了棋子的變化就要負(fù)責(zé)在屏幕上面顯示出這種變化,同時利用第三類對象(規(guī)則系統(tǒng))來對棋局進(jìn)行判定。,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,5,可以明顯地看出,面向?qū)ο笫且允聞?wù)(對象)來劃分問題,而不是步驟。 同樣是繪制棋局,這樣的行為在面向
3、過程的設(shè)計(jì)中分散在了眾多步驟中,很可能出現(xiàn)不同的繪制版本,因?yàn)橥ǔTO(shè)計(jì)人員會考慮到實(shí)際情況進(jìn)行各種各樣的簡化。 而面向?qū)ο蟮脑O(shè)計(jì)中,繪圖只可能在棋盤對象中出現(xiàn),從而保證了繪圖的統(tǒng)一。,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,6,功能上的統(tǒng)一保證了面向?qū)ο笤O(shè)計(jì)的可擴(kuò)展性。 比如我要加入悔棋的功能,如果要改動面向過程的設(shè)計(jì),那么從輸入到判斷到顯示這一連串的步驟都要改動,甚至步驟之間的循序都要進(jìn)行大規(guī)模調(diào)整。 如果是面向?qū)ο蟮脑?,只用改動棋盤對象就行了,棋盤系統(tǒng)保存了黑白雙方的棋譜,簡單回溯就可以了,而顯示和規(guī)則判斷則不用顧及,同時整個對對象功能的調(diào)用順序都沒有變化,改動只是局部的。 到這里就可以
4、很明顯的看出面向?qū)ο蠛兔嫦蜻^程的區(qū)別所在了。,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,7,什么是面向?qū)ο蟪绦蛟O(shè)計(jì),C語言程序設(shè)計(jì) 顯示半徑為15的圓面積 站在計(jì)算機(jī)的角度進(jìn)行的程序設(shè)計(jì) 面向過程的程序設(shè)計(jì) 程序=過程+調(diào)用 典型語言C、PASCAL 面向?qū)ο笤O(shè)計(jì)方法 站在對象的角度進(jìn)行的程序設(shè)計(jì) 人類習(xí)慣的解決問題的方法 程序=對象+消息,程序中的一切操作都是通過向?qū)ο蟀l(fā)送消息來實(shí)現(xiàn),2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,8,概述-主要內(nèi)容,面向?qū)ο蠹夹g(shù)的基本概念 面向?qū)ο蠹夹g(shù)的基本特征 面向?qū)ο蠹夹g(shù)的主要優(yōu)點(diǎn) 幾種典型的面向?qū)ο蟪绦蛟O(shè)計(jì)語言,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,9
5、,對象(一),面向?qū)ο蠹夹g(shù)認(rèn)為客觀世界是由各種各樣的對象組成,每種對象都有各自的內(nèi)部狀態(tài)和運(yùn)動規(guī)律,不同對象間的相互作用和聯(lián)系就構(gòu)成了各種不同的系統(tǒng),構(gòu)成了客觀世界。 對象是組成一個系統(tǒng)的基本邏輯單元,是一個有組織形式的含有信息的實(shí)體,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,10,對象(二),現(xiàn)實(shí)世界中的對象 任何事物都是對象(具體的、抽象的;簡單的、復(fù)雜的) 組成:(靜態(tài)的)屬性 + (動態(tài)的)行為 特點(diǎn): 一個對象一個名字 用屬性描述特征 有一組行為 自身所承受的行為;施加于其他對象的行為,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,11,對象(三),面向?qū)ο蟪绦蛑械膶ο?是對現(xiàn)實(shí)世界對象
6、的抽象 組成:數(shù)據(jù) + 操作(方法) 例:半徑15的圓形對象,在面向?qū)ο蟪绦蛑械谋憩F(xiàn): 描述屬性的數(shù)據(jù) 半徑 :15 操作 顯示面積、顯示周長 對象是數(shù)據(jù)和操作封裝在一起構(gòu)成的統(tǒng)一體,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,12,類(一),類(class)是對一組具有相同屬性和行為的對象的抽象,是描述對象的“基本原型”,它定義一種對象所能擁有的數(shù)據(jù)和能完成的操作(成員變量,方法)。 例:圓形是一個類 半徑為15的圓,是圓形的一個實(shí)例(實(shí)際例子),一個具體的對象 類是一個抽象的概念,在現(xiàn)實(shí)世界中并不真正存在,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,13,類(二),在面向?qū)ο蟪绦蛑校蔷哂邢嗤?/p>
7、數(shù)據(jù)結(jié)構(gòu)和相同操作的一類對象的描述 例:“圓形”類 屬性: 半徑 操作:顯示面積、顯示周長 類的使用 聲明Circle類 定義Circle類的若干對象c1,c2(分別為半徑為15,半徑為20的圓) c1,c2均稱為類Circle的實(shí)例,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,14,消息和方法,消息是對象之間發(fā)出的行為請求 對象之間的交互機(jī)制,叫消息傳遞。 對象中的聯(lián)系只能通過消息傳遞來進(jìn)行,接收對象只有在接收到消息時,才能被激活。 多個消息構(gòu)成一個事件。 消息的三個性質(zhì): 同一對象可以接收多個消息,作出不同響應(yīng); 相同消息可以傳遞給不同對象,響應(yīng)可以不同 對消息的響應(yīng)不是必需的,可以不相應(yīng)。
8、,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,15,消息和方法,方法就是對象所能執(zhí)行的操作 程序設(shè)計(jì)中,要求某一對象做某一操作時,就向該對象發(fā)送一個相應(yīng)的消息。 對象根據(jù)接收到的消息,調(diào)用相應(yīng)的方法,反之,有了方法,對象才能響應(yīng)相應(yīng)的消息。 java中通過成員函數(shù)實(shí)現(xiàn)方法。,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,16,面向?qū)ο蠹夹g(shù)的基本特征,抽象 封裝 繼承 多態(tài),2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,17,抽象,抽象就是忽略事物中與當(dāng)前目標(biāo)無關(guān)的非本質(zhì)特征,更充分地注意與當(dāng)前目標(biāo)有關(guān)的本質(zhì)特征。 組成: 數(shù)據(jù)抽象:描述某類對象的共同屬性 代碼抽象:描述某類對象的共同行為特征 例:學(xué)生成
9、績管理 共同屬性:String name; int number; float score;(數(shù)據(jù)成員) 共同行為:input(); modify(); print()(成員函數(shù)),2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,18,封裝,封裝就是把對象的屬性和行為結(jié)合成一個獨(dú)立的單位,并盡可能隱蔽對象的內(nèi)部細(xì)節(jié) 封裝機(jī)制使對象的使用者和設(shè)計(jì)者分開,提高了代碼的重用性,減輕了系統(tǒng)開發(fā)難度,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,19,繼承,繼承是一種聯(lián)結(jié)類與類的層次模型。是指特殊類的對象擁有其一般類的屬性和行為的特性。 例:,車型、顏色、輪胎、發(fā)動機(jī) 換檔、開燈、開冷氣,車次、乘客數(shù)、票價 進(jìn)站
10、、出站,開始時間、結(jié)束時間、站次、路線 停站時間,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,20,繼承,有繼承關(guān)系的類的特性: 類間有共享特性 類間有差別 類間有層次關(guān)系 兩個類A和B,若B繼承A(B是從A中派生出來的): A稱為基類(父類、超類) B稱為繼承類(子類、派生類) B既包含A的特性,也具有自己的特性。 繼承使基類的數(shù)據(jù)結(jié)構(gòu)和操作被派生類重用 增加了可重用性,減少了冗余。,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,21,多態(tài),不同的對象收到相同的消息時產(chǎn)生多種不同的行為方式。 例:計(jì)算圖形面積 Circle、 Rectangle都是圖型Shape的子類 Shape c1=new Circle(15);Shape c2=new Rectangle (10,12);c1.Area(); c2.Area();,2020/7/20,面向?qū)ο蟪绦蛟O(shè)計(jì)概述,22,多態(tài),子類對父類方法的覆蓋 父類:汽車 掛五檔 子類: 公共汽車 掛五檔 奔馳轎車 掛五檔,2020
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年中國科技出版?zhèn)髅焦煞萦邢薰菊衅競淇碱}庫含答案詳解
- 2026年中建數(shù)字科技有限公司招聘備考題庫及完整答案詳解一套
- 2026年廈外海滄附校公開招聘非在編教師5人備考題庫及1套完整答案詳解
- 2026年中山市東區(qū)中學(xué)公開招聘地理專任教師備考題庫完整參考答案詳解
- 2026年東莞市鳳崗醫(yī)院招聘納入崗位管理的編制外人員36人備考題庫及參考答案詳解
- 2026年上海中森建筑與工程設(shè)計(jì)顧問有限公司招聘備考題庫及參考答案詳解1套
- 2026年廈外海滄附校公開招聘非在編教師5人備考題庫含答案詳解
- 2026年中石化中海船舶燃料供應(yīng)有限公司遼寧分公司招聘備考題庫完整答案詳解
- 2026年天津東疆港產(chǎn)城投資集團(tuán)有限公司招聘備考題庫及完整答案詳解1套
- 2026年安寧市醫(yī)療機(jī)構(gòu)招聘編外聘用人員22人備考題庫有答案詳解
- 國有企業(yè)服務(wù)采購操作規(guī)范TCFLP 0054-2022
- 2025年獸醫(yī)公共衛(wèi)生學(xué)考試試題(附答案)
- 熱電材料研究進(jìn)展匯報
- 醫(yī)保編碼管理辦法
- 【MOOC答案】《創(chuàng)新與創(chuàng)業(yè)管理》(南京郵電大學(xué))章節(jié)作業(yè)慕課答案
- 消防高位水箱巡查方案(3篇)
- 消渴的中醫(yī)護(hù)理常規(guī)課件
- 經(jīng)濟(jì)法學(xué)-002-國開機(jī)考復(fù)習(xí)資料
- SL631水利水電工程單元工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)第1部分:土石方工程
- DB32-T 5081-2025 建筑防水工程技術(shù)規(guī)程
- 2024-2025學(xué)年北京海淀區(qū)八年級初二(上)期末英語試卷(含答案)
評論
0/150
提交評論