第3章-建立面向?qū)ο蟮木幊趟枷隷第1頁
第3章-建立面向?qū)ο蟮木幊趟枷隷第2頁
第3章-建立面向?qū)ο蟮木幊趟枷隷第3頁
第3章-建立面向?qū)ο蟮木幊趟枷隷第4頁
第3章-建立面向?qū)ο蟮木幊趟枷隷第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第3章建立面向?qū)ο蟮木幊趟枷?/p>

主講:胡伏湘問題與思考1、運(yùn)行Java程序需要哪些軟件?2、Java程序有幾種類型?有什么不同?3、如何在Eclipse中運(yùn)行Java應(yīng)用程序?本章提要主要知識點(diǎn):理解面向?qū)ο缶幊痰幕舅枷?;掌握面向?qū)ο缶幊痰囊话惴椒?;能夠運(yùn)用Java語言編寫簡單的應(yīng)用程序。學(xué)習(xí)目標(biāo):掌握面向?qū)ο缶幊痰幕舅枷搿?/p>

3.1面向?qū)ο蟮乃枷?.1.1面向?qū)ο笏枷氲幕靖拍钕到y(tǒng)中一切皆為對象;對象是屬性及其操作的封裝體;對象可按其性質(zhì)劃分為類,對象成為類的實(shí)例;實(shí)例關(guān)系和繼承關(guān)系是對象之間的靜態(tài)關(guān)系;消息傳遞是對象之間動態(tài)聯(lián)系的唯一形式,也是計(jì)算的唯一形式;方法是消息的序列。

3.1面向?qū)ο蟮乃枷?.1.1面向?qū)ο笏枷氲幕靖拍钪饕拍畎ǎ海?)對象:對象是人們要進(jìn)行研究的任何事物,從最簡單的整數(shù)到復(fù)雜的飛機(jī)等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。(2)對象的狀態(tài)和行為:對象具有狀態(tài),一個對象用數(shù)據(jù)值來描述它的狀態(tài)。(3)類:具有相同或相似性質(zhì)的對象的抽象就是類。類具有屬性,它是對象的狀態(tài)的抽象,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性。(4)類的結(jié)構(gòu):在客觀世界中有若干類,這些類之間有一定的結(jié)構(gòu)關(guān)系。(5)消息和方法:對象之間進(jìn)行通信的結(jié)構(gòu)叫做消息。3.1面向?qū)ο蟮乃枷?.1.2面向?qū)ο笏枷氲幕咎卣鳎?)對象的唯一性:每個對象都有自身唯一的標(biāo)識,通過這種標(biāo)識,可找到相應(yīng)的對象。(2)分類性:指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類。(3)繼承性:繼承性是子類自動共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。在軟件開發(fā)中,類的繼承性使所建立的軟件具有開放性、可擴(kuò)充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創(chuàng)建工作量,增加了代碼的可重性。采用繼承性,提供了類的規(guī)范的等級結(jié)構(gòu)。通過類的繼承關(guān)系,使公共的特性能夠共享,提高了軟件的重用性。(4)多態(tài)性:指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同的結(jié)果,不同的對象,收到同一消息可以產(chǎn)生不同的結(jié)果。多態(tài)性允許每個對象以適合自身的方式去響應(yīng)共同的消息,增強(qiáng)了軟件的靈活性和重用性。

3.1面向?qū)ο蟮乃枷?.1.3面向?qū)ο笏枷氲幕疽兀?)抽象:使用抽象可以盡可能避免過早考慮一些細(xì)節(jié),類實(shí)現(xiàn)了對象的數(shù)據(jù)(即狀態(tài))和行為的抽象。(2)封裝性(信息隱藏):封裝性是保證軟件部件具有優(yōu)良的模塊性的基礎(chǔ)。面向?qū)ο蟮念愂欠庋b良好的模塊,類定義將其說明(用戶可見的外部接口)與實(shí)現(xiàn)(用戶不可見的內(nèi)部實(shí)現(xiàn))顯式地分開,其內(nèi)部實(shí)現(xiàn)按其作用域提供保護(hù)。(3)共享性:面向?qū)ο蠹夹g(shù)在不同級別上促進(jìn)了共享,同一類中的對象有著相同數(shù)據(jù)結(jié)構(gòu),這些對象之間是結(jié)構(gòu)、行為特征的共享關(guān)系。面向?qū)ο蟛粌H允許在同一應(yīng)用中共享信息,而且為未來目標(biāo)的可重用設(shè)計(jì)準(zhǔn)備了條件,通過類庫這種機(jī)制和結(jié)構(gòu)來實(shí)現(xiàn)不同應(yīng)用中的信息共享。3.2面向?qū)ο缶幊谭椒嫦驅(qū)ο缶幊谭椒ǎ∣bject-OrientedMethod)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,簡稱OO方法,是建立在“對象”概念基礎(chǔ)上的方法學(xué)。面向?qū)ο缶幊掏ǔR?jīng)過9個步驟:見教材。3.2面向?qū)ο缶幊谭椒ㄖ饕拍罱馕觯?、對象、類和消息對象object就是變量和相關(guān)的方法的集合,其中變量表明對象的狀態(tài),方法表明對象所具有的行為

類class中定義一類對象共有的變量和方法。把一個類實(shí)例化即生成該類的一個對象

對象之間必須要進(jìn)行交互來實(shí)現(xiàn)復(fù)雜的行為,用消息message的形式提供信息,消息包括3個方面(接收者,方法,參數(shù))3.2面向?qū)ο缶幊谭椒?、繼承inherit

通過對象、類,可以實(shí)現(xiàn)封裝encapsulation,通過子類則可以實(shí)現(xiàn)繼承

通過父類fatherclass和子類subclass,實(shí)現(xiàn)類的的層次,可以從最一般的類開始,逐步特殊化定義一系列的子類

通過繼承實(shí)現(xiàn)了代碼的復(fù)用,使程序的復(fù)雜性線性地增長,而不是呈幾何級數(shù)增長

3.2面向?qū)ο缶幊谭椒?、抽象abstract與接口interface抽象化概念的生成是為了要降低程序版本更新后,在維護(hù)方面的負(fù)擔(dān)

使功能的提供者和功能的用戶能夠分開,各自獨(dú)立,彼此不受影響為了達(dá)到抽象化的目的,需要在功能提供者與功能使用者之間提供一個共同的規(guī)范,即接口3.2面向?qū)ο缶幊谭椒?、多態(tài)

polymorphismJava通過方法重寫和方法重載來實(shí)現(xiàn)多態(tài)。

通過方法重寫override,一個類中可以有多個具有相同名字的方法,由傳遞給它們的不同個數(shù)的參數(shù)來決定使用哪種方法,這就是多態(tài)

通過方法重載,子類可以重新實(shí)現(xiàn)父類的某些方法,使其具有自己的特征

3.2面向?qū)ο缶幊谭椒?.2.3類的實(shí)現(xiàn)1.類的聲明classClassName{……}2.類體類體中定義了該類所有的變量(即屬性)和該類所支持的方法。通常變量在方法前定義(并不一定必須要有)classPoint{intx,y;voidinit(intm,intn){x=m;y=n;}}

3.2面向?qū)ο缶幊谭椒?.成員變量最簡單的成員變量

溫馨提示

  • 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

提交評論