版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第九章面向?qū)ο蟪绦蚍椒?.1面向?qū)ο蠓椒ǜ攀?.2面向?qū)ο蠓椒ǖ幕靖拍?.3面向?qū)ο蟮囊饬x9.4面向?qū)ο蟮姆治龊驮O(shè)計(jì)9.5面向?qū)ο蠓椒ㄅc軟件復(fù)用9.6面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言小結(jié)9.1面向?qū)ο蠓椒ǜ攀?.1.1面向?qū)ο蟮母拍?.1.2面向?qū)ο蠓椒ǖ男纬?.1.1面向?qū)ο蟮母拍?.對(duì)象是以面向?qū)ο蠓椒?gòu)造的系統(tǒng)的基本單位。對(duì)象是對(duì)問(wèn)題域中客觀存在的事物的抽象,對(duì)象具有描述其特征和狀態(tài)的屬性,還可以響應(yīng)外界的消息,進(jìn)行一定的操作。2.對(duì)象的屬性和操作組成了一個(gè)完整的對(duì)象,對(duì)象只對(duì)外開(kāi)放其屬性和操作的一部份,大部份實(shí)現(xiàn)細(xì)節(jié)將對(duì)其它對(duì)象隱藏,這種機(jī)制稱(chēng)為封裝,對(duì)象的對(duì)外接口稱(chēng)為服務(wù)。3.將具有共同特征的對(duì)象進(jìn)行抽象,形成對(duì)這些對(duì)象的抽象描述—類(lèi),每個(gè)對(duì)象就成為該類(lèi)的一個(gè)實(shí)例。4.對(duì)形成的對(duì)象類(lèi)進(jìn)一步抽象,抽取這些類(lèi)的共同特征,形成基本的類(lèi)和派生的類(lèi)。5.一個(gè)系統(tǒng)就是由各個(gè)對(duì)象組成,對(duì)象和對(duì)象之間存在靜態(tài)關(guān)系和動(dòng)態(tài)關(guān)系,靜態(tài)關(guān)系體現(xiàn)了對(duì)象之間固有的聯(lián)系。動(dòng)態(tài)關(guān)系是對(duì)象之間通過(guò)發(fā)送消息進(jìn)行通信,相互協(xié)作,完成系統(tǒng)功能。復(fù)雜對(duì)象可以由簡(jiǎn)單對(duì)象構(gòu)成,這種關(guān)系稱(chēng)做聚合。面向?qū)ο蠓椒ú捎玫淖钪饕獧C(jī)制是抽象。面向?qū)ο蠓椒ㄊ抢贸橄?、封裝等機(jī)制,借助于對(duì)象、類(lèi)、繼承、消息傳遞等概念進(jìn)行軟件系統(tǒng)構(gòu)造的軟件開(kāi)發(fā)方法。9.1.2面向?qū)ο蠓椒ǖ男纬擅嫦驅(qū)ο蠓椒ㄆ鹪从诿嫦驅(qū)ο蟮木幊陶Z(yǔ)言O(shè)OPL。第一個(gè)完善、實(shí)用的純面向?qū)ο蟮恼Z(yǔ)言是Smalltalk。Smalltalk語(yǔ)言有三個(gè)特點(diǎn):1.將任何東西都看成對(duì)象。2.不進(jìn)行任何類(lèi)型檢查操作,強(qiáng)調(diào)多態(tài)性和動(dòng)態(tài)連接。3.是一個(gè)具有類(lèi)庫(kù)支持和交互式圖形界面的完整程序設(shè)計(jì)環(huán)境。20世紀(jì)80年代中期到90年代,大批實(shí)用的面向?qū)ο笳Z(yǔ)言不斷涌現(xiàn),標(biāo)志著面向?qū)ο笳Z(yǔ)言走向成熟和繁榮。面向?qū)ο缶幊陶Z(yǔ)言的繁榮又是面向?qū)ο蠓椒ㄗ呦驅(qū)嵱玫闹匾獦?biāo)志。9.2面向?qū)ο蠓椒ǖ幕靖拍?.2.1對(duì)象9.2.2程序設(shè)計(jì)語(yǔ)言中的對(duì)象9.2.3消息9.2.4程序設(shè)計(jì)語(yǔ)言中的消息9.2.5類(lèi)9.2.6程序設(shè)計(jì)語(yǔ)言中的類(lèi)9.2.7繼承9.2.8程序設(shè)計(jì)語(yǔ)言中的繼承9.2.9封裝9.2.10程序設(shè)計(jì)語(yǔ)言中的封裝9.2.11多態(tài)性9.2.12程序設(shè)計(jì)語(yǔ)言中的多態(tài)性9.2.1對(duì)象現(xiàn)實(shí)世界中的任何客觀存在著的事物都可以稱(chēng)為對(duì)象。屬性和操作是對(duì)象的兩大要素。屬性是描述對(duì)象的靜態(tài)特征的,操作是描述對(duì)象的動(dòng)態(tài)特征的。對(duì)象是對(duì)問(wèn)題域中客觀存在的事物的抽象,它是一組屬性和在這些屬性上操作的封裝體。9.2.2程序設(shè)計(jì)語(yǔ)言中的對(duì)象在軟件系統(tǒng)開(kāi)發(fā)的各個(gè)階段,對(duì)象有其不同的表現(xiàn)形式。在程序設(shè)計(jì)語(yǔ)言中,用類(lèi)來(lái)定義對(duì)象,類(lèi)相當(dāng)于一種用戶(hù)自定義的數(shù)據(jù)類(lèi)型,這種數(shù)據(jù)類(lèi)型是一個(gè)由數(shù)據(jù)和作用在這些數(shù)據(jù)之上的操作所組成的整體。對(duì)象相當(dāng)于具有該類(lèi)型的一個(gè)變量。9.2.3消息軟件系統(tǒng)中的對(duì)象之間也存在著依存關(guān)系,一個(gè)對(duì)象除了通過(guò)對(duì)外提供服務(wù)來(lái)發(fā)揮自己的作用外,還需要請(qǐng)求其它對(duì)象為它服務(wù)。消息是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求。是面向?qū)ο笙到y(tǒng)中對(duì)象之間交互的途徑。消息的關(guān)鍵要素:消息的發(fā)送者、消息的接收者、消息所要求的具體服務(wù)、消息所要求的服務(wù)的一些參數(shù)以及消息的應(yīng)答。9.2.4程序設(shè)計(jì)語(yǔ)言中的消息在具體的程序設(shè)計(jì)語(yǔ)言中,消息表現(xiàn)為對(duì)象在其操作過(guò)程中對(duì)另一個(gè)對(duì)象的服務(wù)程序的調(diào)用,也就是函數(shù)(或過(guò)程、例程)調(diào)用。對(duì)于純粹的面向?qū)ο笳Z(yǔ)言,所有的函數(shù)調(diào)用都可以看成是一種消息,所有的消息發(fā)送者都是對(duì)象。9.2.5類(lèi)類(lèi)是人類(lèi)抽象思維的產(chǎn)物。在面向?qū)ο蠓椒ㄖ?,?duì)問(wèn)題域中與當(dāng)前相關(guān)的對(duì)象進(jìn)行分析,找出事物的共性,并對(duì)具有共同特征的對(duì)象進(jìn)行劃分,就得到了類(lèi)。類(lèi)是具有相同屬性和操作的一組對(duì)象的集合,它為屬于該類(lèi)的全部對(duì)象提供了統(tǒng)一的抽象描述。9.2.6程序設(shè)計(jì)語(yǔ)言中的類(lèi)類(lèi)是一個(gè)獨(dú)立的程序單位,它具有一個(gè)類(lèi)名來(lái)唯一標(biāo)識(shí)這個(gè)類(lèi),類(lèi)的定義體包括屬性和操作。屬性和操作還有公有、私有之分,公有的屬性和操作可以為其它對(duì)象所訪問(wèn),而私有的屬性和操作是在類(lèi)對(duì)象內(nèi)部實(shí)現(xiàn),體現(xiàn)了封裝和信息隱藏的操作思想。公有的操作就體現(xiàn)為對(duì)象的服務(wù)。9.2.7繼承特殊類(lèi)的對(duì)象擁有其一般類(lèi)的全部屬性和操作,稱(chēng)做特殊類(lèi)對(duì)一般類(lèi)的繼承。一般類(lèi)是對(duì)各種特殊類(lèi)的共同特性的抽象。特殊類(lèi)通過(guò)繼承自動(dòng)獲得一般類(lèi)所具有的特性,因而特殊類(lèi)只需要再定義屬于它自己特定的屬性和操作就可以了,特殊類(lèi)的對(duì)象不僅包含它自己類(lèi)中定義的屬性和操作,也包含了在一般類(lèi)中定義的所有屬性和服務(wù)。繼承關(guān)系中的一般類(lèi)稱(chēng)為基類(lèi),特殊類(lèi)稱(chēng)為派生類(lèi)。9.2.8程序設(shè)計(jì)語(yǔ)言中的繼承繼承是面向?qū)ο笳Z(yǔ)言必須具有的功能。定義派生類(lèi)時(shí)指定所繼承的基類(lèi),從而表達(dá)了類(lèi)之間的繼承關(guān)系。VC++用:class派生類(lèi)名:繼承方式基類(lèi)名{…};來(lái)進(jìn)行定義9.2.9封裝對(duì)象是一個(gè)數(shù)據(jù)和操作的封裝體,這個(gè)封裝體對(duì)外僅呈現(xiàn)少量的接口,大多數(shù)實(shí)現(xiàn)細(xì)節(jié)都對(duì)外隱藏。封裝的含義一是包裝,二是信息隱藏,對(duì)外只公布一個(gè)有限的界面,通過(guò)這個(gè)界面和外界交互。封裝和繼承是面向?qū)ο蠓椒ㄖ谢パa(bǔ)的兩種技術(shù)。封裝使對(duì)象成為一個(gè)相對(duì)獨(dú)立的整體,而繼承給了對(duì)象類(lèi)另一個(gè)發(fā)展的空間,派生類(lèi)通過(guò)繼承得到了基類(lèi)的屬性和操作。封裝使用其它對(duì)象的服務(wù)實(shí)現(xiàn)動(dòng)態(tài)共享,而繼承則是對(duì)代碼的靜態(tài)共享。9.2.10程序設(shè)計(jì)語(yǔ)言中的封裝封裝是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言必須提供的機(jī)制。嚴(yán)格的封裝要求對(duì)象的所有屬性和操作都對(duì)外隱藏,外界只能通過(guò)那些公共的操作(即服務(wù))才能訪問(wèn)這些屬性。VC++允許對(duì)象定義一部分公有屬性,外界對(duì)象可直接訪問(wèn)。9.2.11多態(tài)性對(duì)象的多態(tài)性是指基類(lèi)中定義的屬性或操作被派生類(lèi)繼承之后,可以具有不同的數(shù)據(jù)類(lèi)型或表現(xiàn)出不同的行為,從而同一個(gè)屬性或操作名稱(chēng)在各個(gè)派生類(lèi)中具有不同的含義。多態(tài)性的實(shí)現(xiàn)需要借助于面向?qū)ο笳Z(yǔ)言的動(dòng)態(tài)連接、重載等機(jī)制來(lái)實(shí)現(xiàn)。9.2.12程序設(shè)計(jì)語(yǔ)言中的多態(tài)性面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中,多態(tài)性表現(xiàn)為以統(tǒng)一方式對(duì)待具有相同的接口的不同類(lèi)的實(shí)例的能力。VC++語(yǔ)言支持兩種多態(tài)性:編譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性。編譯時(shí)的多態(tài)性通過(guò)重載實(shí)現(xiàn),運(yùn)行時(shí)的多態(tài)性通過(guò)虛函數(shù)實(shí)現(xiàn)。9.3面向?qū)ο蟮囊饬x9.3.1模塊化—軟件質(zhì)量保證9.3.2復(fù)用—軟件快速開(kāi)發(fā)和必由之路9.3.3走面向?qū)ο笫降缆?.3.4結(jié)構(gòu)化程序設(shè)計(jì)9.3.5面向?qū)ο蟪绦蛟O(shè)計(jì)9.3.1模塊化—軟件質(zhì)量保證系統(tǒng)的設(shè)計(jì)應(yīng)遵循:1.設(shè)計(jì)簡(jiǎn)單;2.控制分散要得到可維護(hù)性、可復(fù)用性與兼容性好的軟件,軟件的系統(tǒng)結(jié)構(gòu)應(yīng)該是模塊化的。好的模塊具有高內(nèi)聚低耦合的特性。9.3.2復(fù)用—軟件快速開(kāi)發(fā)和必由之路盡管軟件設(shè)計(jì)中重復(fù)的現(xiàn)象很多,但由于經(jīng)濟(jì)、機(jī)構(gòu)、心理上的障礙,軟件的復(fù)用并不普遍。9.3.3走面向?qū)ο笫降缆冯S著軟件系統(tǒng)復(fù)雜性日益提高,傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法有些力不從心,必須采用面向?qū)ο蟪绦蛟O(shè)計(jì)方法。9.3.4結(jié)構(gòu)化程序設(shè)計(jì)設(shè)計(jì)思路:自頂向下,逐步求精。缺陷:①以功能分解作為基本思路,而功能是系統(tǒng)中最易變的部分②大多數(shù)系統(tǒng)無(wú)法簡(jiǎn)單地用一個(gè)頂層功能來(lái)描述,也沒(méi)法簡(jiǎn)單地用一個(gè)主程序來(lái)描述系統(tǒng)的操作流程。③是面向過(guò)程的設(shè)計(jì)方法,把程序定義為“數(shù)據(jù)結(jié)構(gòu)+算法”。④自頂向下的程序設(shè)計(jì)方法與復(fù)用思想本質(zhì)上是背道而馳的。9.3.5面向?qū)ο蟪绦蛟O(shè)計(jì)吸收結(jié)構(gòu)化程序設(shè)計(jì)的優(yōu)點(diǎn),又考慮了現(xiàn)實(shí)世界與面向?qū)ο罂臻g的映射關(guān)系。①符合人類(lèi)思維習(xí)慣,能自然地表現(xiàn)現(xiàn)實(shí)世界的實(shí)體和問(wèn)題。②是代碼復(fù)用的有效途徑。③封裝使得對(duì)象相對(duì)獨(dú)立,對(duì)軟件維護(hù)帶來(lái)方便。④多態(tài)性增強(qiáng)了操作的透明性、理解性和可維護(hù)性。多態(tài)性和繼承的結(jié)合增強(qiáng)軟件的靈活性和可復(fù)用性。9.4面向?qū)ο蟮姆治龊驮O(shè)計(jì)面向?qū)ο筌浖_(kāi)發(fā)的生命周期可分為:分析、設(shè)計(jì)、實(shí)現(xiàn)三部份。OOA過(guò)程包含以下主要活動(dòng):1.發(fā)現(xiàn)對(duì)象,并對(duì)它們抽象分類(lèi),得到對(duì)象的類(lèi);2.識(shí)別對(duì)象的內(nèi)部特征,包括對(duì)象的屬性和操作;3.識(shí)別對(duì)象的外部關(guān)系;4.借助其它表示法進(jìn)一步分析系統(tǒng);5.對(duì)上面建立的所有表示進(jìn)行詳細(xì)的說(shuō)明;6.如需要時(shí)開(kāi)發(fā)原型,輔助分析。設(shè)計(jì)階段獎(jiǎng)針對(duì)以下四方面:1.問(wèn)題域;2.人機(jī)交互;3.數(shù)據(jù)管理;4.系統(tǒng)交互。9.5面向?qū)ο蠓椒ㄅc軟件復(fù)用軟件復(fù)用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng)。分子程序庫(kù)的復(fù)用、源代碼級(jí)的復(fù)用、設(shè)計(jì)結(jié)果的復(fù)用和分析結(jié)果的復(fù)用。復(fù)用能提高率,降低軟件生產(chǎn)的代價(jià)。9.6面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言支持軟件復(fù)用是人們對(duì)面向?qū)ο蠓椒ǖ闹饕M弧C嫦驅(qū)ο蟮某橄?、封裝、繼承、聚合這些原則和軟件復(fù)用的要求十分吻合??蓮?fù)用構(gòu)件應(yīng)該具備一定的獨(dú)立性和完整性,對(duì)象和類(lèi)正具備這一特征。面向?qū)ο蟮能浖_(kāi)發(fā)和軟件復(fù)用之間的關(guān)系是相輔相成的。小結(jié)OOPL用對(duì)象來(lái)描述現(xiàn)實(shí)世界中的對(duì)象,用對(duì)象的屬性和操作描述現(xiàn)實(shí)世界中的對(duì)象的靜態(tài)和動(dòng)態(tài)特征;OOPL用類(lèi)來(lái)描述具有共同特征的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路貨物運(yùn)輸公司外部風(fēng)險(xiǎn)因素分析和應(yīng)對(duì)策略制定
- 《施工現(xiàn)場(chǎng)違章照片》課件
- 2025年度臨時(shí)租用旅游用地開(kāi)發(fā)經(jīng)營(yíng)合同4篇
- 不安全行為監(jiān)測(cè)與報(bào)告制度
- 2025年度銀川銀川二手房買(mǎi)賣(mài)交易資金托管及結(jié)算服務(wù)合同
- 2025年紙箱環(huán)保材料采購(gòu)承包服務(wù)協(xié)議4篇
- 商場(chǎng)空氣質(zhì)量檢測(cè)與改善服務(wù)合同(二零二五年)3篇
- 二零二五年度大連市防雷接地系統(tǒng)施工服務(wù)標(biāo)準(zhǔn)合同4篇
- 2025年度夫妻離婚共同債務(wù)處理專(zhuān)項(xiàng)協(xié)議4篇
- 2025年路燈監(jiān)控系統(tǒng)維護(hù)與升級(jí)服務(wù)合同4篇
- 割接方案的要點(diǎn)、難點(diǎn)及采取的相應(yīng)措施
- 2025年副護(hù)士長(zhǎng)競(jìng)聘演講稿(3篇)
- 2025至2031年中國(guó)臺(tái)式燃?xì)庠钚袠I(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 原發(fā)性腎病綜合征護(hù)理
- (一模)株洲市2025屆高三教學(xué)質(zhì)量統(tǒng)一檢測(cè) 英語(yǔ)試卷
- 第三章第一節(jié)《多變的天氣》說(shuō)課稿2023-2024學(xué)年人教版地理七年級(jí)上冊(cè)
- 2025年中國(guó)電科集團(tuán)春季招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年度建筑施工現(xiàn)場(chǎng)安全管理合同2篇
- 建筑垃圾回收利用標(biāo)準(zhǔn)方案
- 2024年考研英語(yǔ)一閱讀理解80篇解析
- 樣板間合作協(xié)議
評(píng)論
0/150
提交評(píng)論