資源描述:
《第3章 Web應用程序開發(fā)的面向?qū)ο蠓椒?ppt》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、第3章Web應用程序開發(fā)的面向?qū)ο蠓椒?.1面向?qū)ο蟾攀?.2面向?qū)ο筌浖_發(fā)方法簡介3.1面向?qū)ο蠓椒ǜ攀鲆?、面向?qū)ο笈c結(jié)構化二、面向?qū)ο蟮母拍钊?、面向?qū)ο筌浖_發(fā)的優(yōu)點四、面向?qū)ο蟮能浖_發(fā)范型一、面向?qū)ο笈c結(jié)構化1.傳統(tǒng)開發(fā)方法存在的主要問題是:軟件工程的早期是以結(jié)構化分析和設計,結(jié)構化程序?qū)崿F(xiàn)為特征。用結(jié)構化方法開發(fā)軟件,計算機的軟件模型與現(xiàn)實中的問題模型相脫離,存在的主要問題是:①軟件重用性差②軟件可維護性差③軟件很難滿足用戶需求總的說來,傳統(tǒng)的軟件工程方法所開發(fā)的軟件其穩(wěn)定性、可修改性和可重用性都比較差,為了克服這個缺點,面向
2、對象方法引入了軟件工程領域。2.面向?qū)ο蟮乃伎挤椒ê透拍钅鼙粡V大的用戶接受,它的優(yōu)點主要體現(xiàn)在:面向?qū)ο蟮乃枷胧沟弥赜酶菀祝岣吡碎_發(fā)效率;對象通常作為計算機模擬思維,表示真實世界的抽象。3.盡管面向?qū)ο笃鹪从诔绦蛟O計,但面向?qū)ο蟮母拍詈蛻靡殉搅顺绦蛟O計,擴展到很寬的范圍。如數(shù)據(jù)庫系統(tǒng)、分布式系統(tǒng)、網(wǎng)絡管理結(jié)構、人工智能等領域。4.面向?qū)ο筮@個思想一進入軟件工程領域就在軟件工程領域引起了廣泛的重視。二、面向?qū)ο蟮母拍蠲嫦驅(qū)ο?ObjectOriented,OO)的概念經(jīng)過多年的發(fā)展,不同的學者闡述了各種不同的定義,其中Coad和You
3、rdon的觀點認為“面向?qū)ο?對象+類+繼承+消息”。下面分別從這四個方面展開講述。1.對象(1)什么是對象對象的概念是面向?qū)ο蠹夹g的核心所在,可以從以下幾個方面去理解對象的概念①客觀世界是由各種對象組成的。對象是可以分解的,復雜對象可以由比較簡單的對象組合構成,因此面向?qū)ο蟮能浖到y(tǒng)是若干對象的有機集合。②計算機世界中,對象在面向?qū)ο蟪绦蛟O計中的定義是數(shù)據(jù)以及在其上的操作的結(jié)合體。它是客觀世界在計算機中的邏輯表示,也就是說對象是客觀世界的實體或概念在計算機中的抽象表示。(2)對象是如何描述的我們通過狀態(tài)和行為來描述對象。對象的狀態(tài)主要是指
4、對象內(nèi)部所包含的各種信息,是靜態(tài)的;而對象的行為主要表述對象具有哪些功能,是動態(tài)的,它的作用主要是設置或改變對象的狀態(tài)。①對象的狀態(tài)被稱為對象的靜態(tài)屬性,在特定的時候,每個對象有它的狀態(tài)。②每個對象都有自己的功能。在計算機世界中,用方法,即函數(shù),來描述每個對象的功能。③一個復雜的系統(tǒng)必然包括多個對象,這些對象之間可能存在的關系有三種:包含、繼承和關聯(lián)。2.類(1)什么是類同對象這個概念類似,我們也可以從兩個角度去理解類的含義。①在現(xiàn)實世界,類是一組客觀對象的抽象;②在計算機世界,類是一種提供具有特定功能的模塊和一種代碼共享的手段或工具,即類
5、是實現(xiàn)抽象數(shù)據(jù)類型的工具。(2)類與對象的關系類與對象的關系,是抽象與具體的關系;組成類的每個對象都是該類的實例。(3)類的描述類的確定與描述一般采用歸納法,通過對一些對象進行分析,歸納出共同的特性,從而確定一個類。不同的面向?qū)ο蟪绦蛟O計語言具有不同的描述工具,面向?qū)ο蟪绦蛟O計中的所有的操作都可以歸結(jié)為對類的操作。(4)類的特點①抽象化②封裝性③多態(tài)性④繼承性(5)類的結(jié)構在客觀世界中有若干類,這些類之間有一定的結(jié)構關系。通常有兩種主要的結(jié)構關系,即一般--具體結(jié)構關系,整體--部分結(jié)構關系。①一般——具體結(jié)構稱為分類結(jié)構,也可以說是“或”
6、關系,或者是“isa”關系。②整體——部分結(jié)構稱為組裝結(jié)構,它們之間的關系是一種“與”關系,或者是“hasa”關系。3.繼承繼承是父類和子類之間共享數(shù)據(jù)結(jié)構和方法的機制,一旦確定一個類,當新的類的實例被創(chuàng)建時,即某個對象被創(chuàng)建時,類的一些屬性,方法就可以被繼承和重用。繼承機制的優(yōu)點在于:(1)避免了由于系統(tǒng)內(nèi)類對象封閉而造成數(shù)據(jù)和操作冗余的現(xiàn)象。類與其父類、子類構成層次關系,稱為類階(classhierarchy)。每個子類都可以繼承其父類的特性,包括狀態(tài)與行為。同時子類可以有與父類不同的地方,即子類可根據(jù)自身特點新增或局部修改(modi
7、fication)父類的行為而加以使用,甚至可以覆蓋父類中的定義。利用繼承,我們只要在原有類的基礎上修改、增補、刪減少量的數(shù)據(jù)和方法,就可以得到子類,然后生成大小、初態(tài)不同的實例。(2)接口的一致性(Consistencyofinterface),父類衍生子類的其他操作接口也傳遞給其子類。(3)符合軟件可重用性。傳統(tǒng)的結(jié)構化方法中的過程調(diào)用,以及類定義出對象,都是重復使用的典型例子。但它們都比不上繼承的層次高。因為通過繼承明顯使軟件開發(fā)速度加快,實現(xiàn)較高程度的共享。這是繼承最重要的優(yōu)勢。4.消息(1)消息是對象之間相互請求或相互協(xié)作的途徑,
8、就是一個對象向另一個對象下達指令,要求某個對象執(zhí)行某個功能操作。(2)消息有三個要素①該消息發(fā)給哪個對象。②該消息傳遞了什么參數(shù)。③該消息是否有反饋信息。(3)消息通??梢苑譃?