![面向?qū)ο蟮能浖_發(fā)_第1頁](http://file4.renrendoc.com/view/bcd1d37fc354e8247964cc1a82d8d6ec/bcd1d37fc354e8247964cc1a82d8d6ec1.gif)
![面向?qū)ο蟮能浖_發(fā)_第2頁](http://file4.renrendoc.com/view/bcd1d37fc354e8247964cc1a82d8d6ec/bcd1d37fc354e8247964cc1a82d8d6ec2.gif)
![面向?qū)ο蟮能浖_發(fā)_第3頁](http://file4.renrendoc.com/view/bcd1d37fc354e8247964cc1a82d8d6ec/bcd1d37fc354e8247964cc1a82d8d6ec3.gif)
![面向?qū)ο蟮能浖_發(fā)_第4頁](http://file4.renrendoc.com/view/bcd1d37fc354e8247964cc1a82d8d6ec/bcd1d37fc354e8247964cc1a82d8d6ec4.gif)
![面向?qū)ο蟮能浖_發(fā)_第5頁](http://file4.renrendoc.com/view/bcd1d37fc354e8247964cc1a82d8d6ec/bcd1d37fc354e8247964cc1a82d8d6ec5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
面向?qū)ο蟮某绦蛟O(shè)計講面向?qū)ο蟮能浖_發(fā)面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第1頁!面向?qū)ο蟮某绦蛟O(shè)計第2
頁講面向?qū)ο蟮能浖_發(fā)面向?qū)ο蠹夹g(shù)的發(fā)展歷史面向?qū)ο蠹夹g(shù)的基礎(chǔ)知識面向?qū)ο蟪绦蛟O(shè)計的優(yōu)點本章要點面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第2頁!面向?qū)ο蟮某绦蛟O(shè)計一、面向?qū)ο蠹夹g(shù)的發(fā)展歷史面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第3頁!面向?qū)ο蟮某绦蛟O(shè)計第4
頁1、回顧結(jié)構(gòu)化方法程序設(shè)計語言只要順序、選擇和重復(fù)三種形式的控制結(jié)構(gòu)就足以表達出各種其他形式的結(jié)構(gòu)。采用過程抽象的方式,把軟件視為處理流,并定義成由一系列步驟構(gòu)成的算法。每一步驟都是帶有預(yù)定輸入和特定輸出的一個過程,把這些步驟串聯(lián)在一起可產(chǎn)生合理的穩(wěn)定的貫通于整個程序的控制流,最終產(chǎn)生一個簡單的具有靜態(tài)結(jié)構(gòu)的體系結(jié)構(gòu)。面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第4頁!面向?qū)ο蟮某绦蛟O(shè)計第5
頁1、回顧結(jié)構(gòu)化方法缺點:1)復(fù)用困難2)牽一發(fā)而動全身3)為了適應(yīng)變化,要精心設(shè)計函數(shù)接口,導(dǎo)致函數(shù)接口的日益復(fù)雜面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第5頁!面向?qū)ο蟮某绦蛟O(shè)計第6
頁2、面向?qū)ο蠓椒ǖ奶岢鲈谑褂妹嫦驅(qū)ο蠓椒ㄩ_發(fā)的系統(tǒng)之中,系統(tǒng)結(jié)構(gòu)基于對象間的交互。系統(tǒng)中某一部分的改變僅僅產(chǎn)生局部影響。其組成部分如下:面向?qū)ο蠓治?OOA)面向?qū)ο笤O(shè)計(OOD)面向?qū)ο蟪绦蛟O(shè)計(OOP)即:OOSD=OOA+OOD+OOP。面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第6頁!面向?qū)ο蟮某绦蛟O(shè)計第7
頁人類對客觀事物的認知過程從一般到特殊的演繹過程從特殊到一般的歸納方法3、面向?qū)ο蠓椒ǖ幕舅枷脒\輸工具飛機汽車輪船火車……水果蘋果香蕉梨……抽象面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第7頁!面向?qū)ο蟮某绦蛟O(shè)計第8
頁3、面向?qū)ο蠓椒ǖ幕舅枷雱澐謱?fù)雜問題(復(fù)雜對象)劃分為一系列簡單的組成部分(簡單對象)分類按照對象間的各種相似性將對象分類認識各類對象自身屬性及行為認識對象及類之間關(guān)系全部事物的完整認識—符合人類認知規(guī)律的軟件開發(fā)過程面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第8頁!面向?qū)ο蟮某绦蛟O(shè)計第9
頁1、什么是對象?在應(yīng)用領(lǐng)域中有意義的、與所要解決的問題有關(guān)系的任何事物都可以作為對象,它既可以是具體的物理實體的抽象,也可以是人為的概念,或者是任何有明確邊界和意義的東西。例如,一名職工、一家公司、一個窗口、一座圖書館、一本圖書、貸款和借款等,都可以作為一個對象??傊?,對象是對問題域中某個實體的抽象,設(shè)立某個對象就反映了軟件系統(tǒng)保存有關(guān)它的信息,并具有與它進行交互的能力。面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第9頁!面向?qū)ο蟮某绦蛟O(shè)計第10
頁1、什么是對象?問題空間對象圖書1MyBook1:CBook書名:程序設(shè)計總頁數(shù):280版本:2m_pczName:char*=“程序設(shè)計”nTotalPage:int=280nEdition:int=2返回書名返回總頁數(shù)返回版本號char*GetBookName();intGetTotalPage();intGetEdition();分析中的對象設(shè)計中的對象面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第10頁!面向?qū)ο蟮某绦蛟O(shè)計第11
頁1、什么是對象?操作是指該對象可以展現(xiàn)的外部服務(wù),它描述了對象執(zhí)行的功能,若通過消息傳遞,還可以為其它對象使用。例如,大型客機可視為對象,它具有位置、速度、顏色、容量等屬性,對于該對象可施行起飛、降落、加速、維修等操作,這些操作將或多或少地改變飛機的屬性值(狀態(tài))。面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第11頁!類是具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的一組相似對象的抽象。即表示某些對象在屬性和操作方面的共同特征。類是在對象之上的抽象,有了類以后,對象則是類的具體化,是類的實例。把一組對象的共同特性加以抽象并存貯在一個類中的能力,是面向?qū)ο蠹夹g(shù)最重要的一點!面向?qū)ο蟮某绦蛟O(shè)計第12
頁2、類的概念面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第12頁!面向?qū)ο蟮某绦蛟O(shè)計第13
頁類與實例classclassfurniturecosttexturelocationcolorMove()objectchaircost$50texturewoodlocationscantumcolorblackMove()objectattributeabstract面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第13頁!面向?qū)ο蟮某绦蛟O(shè)計第14
頁2)消息標(biāo)識符(即消息名)3)零個或多個變元訪問一個方法的過程稱為向這個對象發(fā)送一個消息發(fā)送者對象屬性:操作:接收者對象屬性:操作:message:[sender,returnvalue(s)]4、消息的概念面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第14頁!面向?qū)ο蟮某绦蛟O(shè)計第15
頁5、面向?qū)ο蟮幕咎卣?繼承性廣義地說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們。在面向?qū)ο蠹夹g(shù)中,繼承是子類自動地共享基類中定義的數(shù)據(jù)和方法的機制。繼承性是面向?qū)ο蟪绦蛟O(shè)計語言不同于其他語言的最主要的特點!繼承具有傳遞性,如果類C繼承類B,類B繼承類A,則類C繼承類A面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第15頁!面向?qū)ο蟮某绦蛟O(shè)計第16
頁5、面向?qū)ο蟮幕咎卣?繼承性繼承使得相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余信息,同時使得對軟件的修改變得容易;繼承使得用戶在開發(fā)新的應(yīng)用系統(tǒng)時不必完全重新開始,可以繼承原有的相似系統(tǒng)或從類庫中選取需要的類,在派生出新的類以實現(xiàn)所需要的功能;有了繼承機制以后,還可以把已有的一般性的解加以具體化,來達到軟件重用的目的。面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第16頁!面向?qū)ο蟮某绦蛟O(shè)計第17
頁5、面向?qū)ο蟮幕咎卣?多態(tài)性員工程序員業(yè)務(wù)員文管每天上班時間一到,相當(dāng)于發(fā)了一條這樣的命令:
“員工.開始上班”(同一條表達式)比如在公司中有各種職責(zé)不同的員工(程序員,業(yè)務(wù)員,文管等),他們“上班”時,做不同的事情(也可以看作是一種業(yè)務(wù)邏輯),我們把他們各自的工作都抽象為“上班”,關(guān)系如下:面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第17頁!面向?qū)ο蟮某绦蛟O(shè)計第18
頁6、類與類之間的關(guān)系類圖是由類及類與類之間的關(guān)系組成。我們定義了類以后,就必須識別、描述類與類間的關(guān)系。通常,類與類之間的關(guān)系具有如下幾種類型1)關(guān)聯(lián)2)聚合和組合3)泛化面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第18頁!面向?qū)ο蟮某绦蛟O(shè)計第19
頁1、與人類習(xí)慣的思維方法一致傳統(tǒng)方法學(xué)以算法為核心數(shù)據(jù)和過程相互獨立解空間與問題空間不一致,難于理解面向?qū)ο蠓椒▽W(xué)以對象為核心數(shù)據(jù)(靜態(tài)屬性)和過程(動態(tài)行為)封裝在一起解空間模擬客觀世界面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第19頁!面向?qū)ο蟮某绦蛟O(shè)計第20
頁3、可重用性好傳統(tǒng)方法學(xué)利用標(biāo)準(zhǔn)函數(shù)庫實現(xiàn)軟件重用標(biāo)準(zhǔn)函數(shù)缺乏必要的“柔性”,并不是理想的可重用的軟件成分面向?qū)ο蠓椒▽W(xué)利用繼承機制實現(xiàn)重用對象固有的封裝性和信息隱藏機制,具有較強的獨立性,是比較理想的可重用的軟件成分面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第20頁!面向?qū)ο蟮某绦蛟O(shè)計第21
頁5、較易開發(fā)大型軟件產(chǎn)品每個對象就像一個微型程序,具有自己的數(shù)據(jù)、操作、功能和用途把大型軟件產(chǎn)品分解成為一系列本質(zhì)上相互獨立的小產(chǎn)品來處理,降低開發(fā)難度,易于管理面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第21頁!面向?qū)ο蟮某绦蛟O(shè)計第22
頁OO成為主流是技術(shù)發(fā)展的必然趨勢!結(jié)論面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第22頁!面向?qū)ο蟮某绦蛟O(shè)計第23
頁1、回顧結(jié)構(gòu)化方法數(shù)據(jù)抽象、數(shù)據(jù)結(jié)構(gòu)根據(jù)算法步驟的要求開發(fā),它貫穿于過程,提供過程所要求操作的信息。系統(tǒng)的狀態(tài)是一組全局變量,這組全局變量保存狀態(tài)的值,把它們從一個過程傳送到另一個過程。面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第23頁!面向?qū)ο蟮某绦蛟O(shè)計第24
頁2、面向?qū)ο蠓椒ǖ奶岢雒嫦驅(qū)ο蠓椒ò褑栴}論域中的主要實體做為系統(tǒng)開發(fā)的起點,主要考慮對象的行為而不是必須執(zhí)行的一系列動作。在面向?qū)ο蠓椒ㄖ校瑢ο笫菙?shù)據(jù)抽象與過程抽象的綜合。系統(tǒng)狀態(tài)保存在各數(shù)據(jù)抽象所定義的數(shù)據(jù)存儲中??刂屏靼诟鱾€數(shù)據(jù)抽象中的操作內(nèi),算法被分布到各種實體中。面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第24頁!面向?qū)ο蟮某绦蛟O(shè)計第25
頁3、面向?qū)ο蠓椒ǖ幕舅枷氡M可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識世界解決問題的方法與過程,也就是使描述問題的問題空間(即問題域)與實現(xiàn)解法的解空間(即求解域)在結(jié)構(gòu)上盡可能一致。天下烏鴉一般黑歸納演繹面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第25頁!面向?qū)ο蟮某绦蛟O(shè)計第26
頁3、面向?qū)ο蠓椒ǖ幕舅枷朊嫦驅(qū)ο蠓椒ㄌ峁┝顺橄蠛蜌w納的機制抽象的客觀概念概念:學(xué)生抽象的數(shù)據(jù)類型類:學(xué)生實例化的對象對象:Jane具體的一組相似客觀事物實體:Jane、Smith等表示抽象實例化模擬面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第26頁!面向?qū)ο蟮某绦蛟O(shè)計二、面向?qū)ο蠹夹g(shù)的基礎(chǔ)知識面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第27頁!面向?qū)ο蟮某绦蛟O(shè)計第28
頁1、什么是對象?在不同場合具有不同的含義:問題空間:所有要研究的客觀現(xiàn)實的全體稱為問題空間或問題域,而把要研究的問題(客觀世界中的實體)稱之為問題空間的對象解空間:所有的解(程序及執(zhí)行程序的計算機)組成的集合稱為解空間,把解(程序及執(zhí)行程序的計算機實體)稱做解空間的對象面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第28頁!面向?qū)ο蟮某绦蛟O(shè)計第29
頁1、什么是對象?對象是封裝了數(shù)據(jù)結(jié)構(gòu)及可以施加在這些數(shù)據(jù)結(jié)構(gòu)上的操作的封裝體,這個封裝體有可以唯一標(biāo)識它的名字,而且向外界提供一組服務(wù)。屬性(attribute)表示對象的性質(zhì),屬性值規(guī)定了對象所有可能的狀態(tài),一般只能通過執(zhí)行對象的操作來改變。面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第29頁!面向?qū)ο蟮某绦蛟O(shè)計第30
頁1、什么是對象?對象:電視機Others...InternalStateTurnOnTurnOffChangeChannelAdjustVolumeOthers變更頻道請求開請求關(guān)調(diào)節(jié)音量被封裝的行為和狀態(tài)面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第30頁!類是建立對象時使用的“樣板”,按照這個樣板所建立的一個個具體的對象,就是類的實例。實例是某個具體類所描述的一個具體對象,如:“張三”、“李四”是類“中國人”的實例。對象既可以是一個具體的對象,也可以泛指一般的對象;而實例只能是一個具體的對象。面向?qū)ο蟮某绦蛟O(shè)計第31
頁3、實例的概念面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第31頁!面向?qū)ο蟮某绦蛟O(shè)計第32
頁4、消息的概念對象之間進行通訊的一種構(gòu)造叫做消息。當(dāng)一個消息發(fā)送給某個對象時,包含要求接收對象去執(zhí)行某些活動的信息。接收到消息的對象經(jīng)過解釋,然后予以響應(yīng)。這種通訊機制叫做消息傳遞。發(fā)送消息的對象不需要知道接收消息的對象如何對請求予以響應(yīng)。通常一個消息由三部分組成:1)接收消息的對象;面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第32頁!面向?qū)ο蟮某绦蛟O(shè)計第33
頁5、面向?qū)ο蟮幕咎卣?封裝性在面向?qū)ο蟮某绦蛑?,把?shù)據(jù)和實現(xiàn)操作的代碼集中起來放在對象內(nèi)部。一個對象好像是一個不透明的黑盒子,表示對象狀態(tài)的數(shù)據(jù)和實現(xiàn)操作的代碼與局部數(shù)據(jù)都被封裝在黑盒子里面,從外面是看不見的,更不能從外面直接訪問和修改這些數(shù)據(jù)和代碼。使用對象的時候只需要知道他向外界提供的接口的形式,無須知道它的數(shù)據(jù)結(jié)構(gòu)細節(jié)和實現(xiàn)操作的算法。面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第33頁!面向?qū)ο蟮某绦蛟O(shè)計第34
頁5、面向?qū)ο蟮幕咎卣?繼承性單繼承多重繼承設(shè)備輸出設(shè)備I/O設(shè)備輸入設(shè)備面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第34頁!面向?qū)ο蟮某绦蛟O(shè)計第35
頁5、面向?qū)ο蟮幕咎卣?多態(tài)性面向?qū)ο蟮暮诵膬?nèi)容是對象,封裝,繼承,多態(tài)和消息機制,其中多態(tài)就是為了描述現(xiàn)實世界的多樣性的,也是面向?qū)ο笾凶顬橹匾奶匦?,可以這么說,不掌握多態(tài),就沒有真正地掌握面向?qū)ο蠹夹g(shù)。簡單的說,多態(tài)就是“相同的表達式,不同的操作”,也可以說成是“相同的命令,不同的操作”面向?qū)ο蟮能浖_發(fā)共41頁,您現(xiàn)在瀏覽的是第35頁!面向?qū)ο蟮某绦蛟O(shè)計第36
頁6、類與類之間的關(guān)系繼承關(guān)聯(lián)PersonHouseresidence0..*owner0..*Financial
Institutionclientcreditor0..*0..*Mortgageprincipalratet
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 12富起來到強起來 第一課時(說課稿)-2023-2024學(xué)年道德與法治五年級下冊統(tǒng)編版
- 13《貓》說課稿-2023-2024學(xué)年四年級語文下冊統(tǒng)編版
- Unit 4 Customs and Traditions:Review of Passives 語法銜接活動案例說課稿-2024-2025學(xué)年高中英語滬外版必修第一冊
- 8 安全記心上《平安出行》(說課稿)-部編版道德與法治三年級上冊
- 西藏小區(qū)變壓器施工方案
- 27《巨人的花園》(說課稿)-2023-2024學(xué)年統(tǒng)編版語文四年級下冊
- 《3 我的本領(lǐng)大-循環(huán)模塊與執(zhí)行器模塊組合應(yīng)用》說課稿-2023-2024學(xué)年清華版(2012)信息技術(shù)六年級下冊001
- 9元日說課稿-2023-2024學(xué)年三年級下冊語文統(tǒng)編版
- Unit 3 Seasons Lesson 2(說課稿)-2023-2024學(xué)年人教新起點版英語二年級下冊
- 倒賣人口合同范例
- 邵陽市職工勞動能力鑒定表
- 稀土配合物和量子點共摻雜構(gòu)筑發(fā)光軟材料及其熒光性能研究
- 衛(wèi)生部手術(shù)分級目錄(2023年1月份修訂)
- JJG 921-2021環(huán)境振動分析儀
- 中藥炮制學(xué)-第五、六章
- 中國風(fēng)軍令狀誓師大會PPT模板
- 小兒高熱驚厥精品課件
- 2023機械工程師考試試題及答案
- 2022年電拖實驗報告伍宏淳
- 豐田汽車戰(zhàn)略規(guī)劃與戰(zhàn)略管理體系研究(2021)
- 即興口語(姜燕)-課件-即興口語第一章PPT-中國傳媒大學(xué)
評論
0/150
提交評論