第5章對象與類_第1頁
第5章對象與類_第2頁
第5章對象與類_第3頁
第5章對象與類_第4頁
第5章對象與類_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023/1/111Java程序設(shè)計及應(yīng)用開發(fā)教程主編:虞益誠E-mail:yuyich@教學(xué)課件Java程序設(shè)計及應(yīng)用開發(fā)教程構(gòu)架Java語言以其面向?qū)ο笮?、可重用性、平臺無關(guān)性、多線程、安全可靠等特性成為網(wǎng)絡(luò)程序設(shè)計中的佼佼者,受到廣泛的青睞三大模塊Java概述與語言基礎(chǔ)Java異常處理圖形用戶界面編程Java線程機(jī)制與AppletJavaJava應(yīng)用開發(fā)與課程設(shè)計實例教參Java流程控制及數(shù)組與字符串高級GUI設(shè)計技術(shù)輸入輸出流Java網(wǎng)絡(luò)編程基礎(chǔ)Java數(shù)據(jù)庫連接第13-15

應(yīng)用開發(fā)篇

第1-6

章基礎(chǔ)知識篇

第7-12章程序設(shè)計篇

面向?qū)ο蟪绦蛟O(shè)計和繼承與多態(tài)2023/1/11第5章對象與類3第5章對象與類5.1面向?qū)ο蠡A(chǔ)5.2類5.3成員變量5.4方法5.5實例對象5.6類的應(yīng)用實例 本章本章主要講述了對象及其特點、面向?qū)ο筌浖拈_發(fā)過程、類的定義與構(gòu)成,同時介紹了方法、對象與構(gòu)造方法、類的成員變量等。2023/1/11第5章對象與類45.1面向?qū)ο蠡A(chǔ)5.1.1

面向?qū)ο蟾攀鰧ο蠹捌涮攸c

對象(Object)是世界萬物在人腦中的映像,是系統(tǒng)中用來描述客觀事物的一個實體,它是構(gòu)成系統(tǒng)的一個基本單位,。對象特點:對象的狀態(tài)屬性、對象的行為操作、某類事物的抽象、對象間的關(guān)聯(lián)和作用。面向?qū)ο蠓椒?.1.2

面向?qū)ο筌浖拈_發(fā)過程面向?qū)ο蠓椒ǖ某绦蜷_發(fā)過程可以大體劃分為面向?qū)ο蟮姆治觯∣bjectOrientedAnalysis,OOA)、面向?qū)ο蟮脑O(shè)計(ObjectOrientedDesign,OOD)、面向?qū)ο蟮膶崿F(xiàn)(ObjectOrientedProgramming,OOP)三個階段。1.面向?qū)ο蟮姆治雒嫦驅(qū)ο蟮姆治龅闹饕饔檬敲鞔_用戶的需求,并用標(biāo)準(zhǔn)化的面向?qū)ο蟮哪P鸵?guī)范地表述這一需求,最后將形成面向?qū)ο蟮姆治瞿P?,即OOA模型。2023/1/11第5章對象與類55.1面向?qū)ο蠡A(chǔ)2.面向?qū)ο蟮脑O(shè)計如果說分析階段應(yīng)該明確所要開發(fā)的軟件系統(tǒng)“干什么”,那么設(shè)計階段將明確這個軟件系統(tǒng)“怎么做”。面向?qū)ο蟮脑O(shè)計將對OOA模型加以擴(kuò)展并得到面向?qū)ο蟮脑O(shè)計階段的最終結(jié)果:OOD模型。面向?qū)ο蟮脑O(shè)計將在OOA模型的基礎(chǔ)上引入界面管理、任務(wù)管理和數(shù)據(jù)管理三部分的內(nèi)容,進(jìn)一步擴(kuò)充OOA模型。3.面向?qū)ο蟮膶崿F(xiàn)面向?qū)ο蟮膶崿F(xiàn)就是具體的程序編碼階段,其主要任務(wù)包括:選擇一種合適的面向?qū)ο蟮木幊陶Z言,如C++、Java等。用選定的語言編碼實現(xiàn)詳細(xì)設(shè)計步驟所得的公式、圖表、說明和規(guī)則等對軟件系統(tǒng)各對象類的詳盡描述。將編寫好的各個類代碼模塊根據(jù)類的相互關(guān)系集成。利用開發(fā)人員提供的測試樣例和用戶提供的測試樣例分別檢驗編碼完成的各個模塊和整個軟件系統(tǒng)。實現(xiàn)、編程階段完成后,即可步入運行了。

5.1.3

面向?qū)ο蟪绦蛟O(shè)計方法的優(yōu)點2023/1/11第5章對象與類65.1面向?qū)ο蠡A(chǔ)0面向?qū)ο蠓椒ǖ奶匦蕴匦灾饕ǎ撼橄笮浴⒎庋b性、繼承性與多態(tài)性。面向?qū)ο蟪绦蛟O(shè)計方法優(yōu)點可重用性.可擴(kuò)展性.可管理性.可自律性.可分離性.接口和消息機(jī)制。5.2類5.2.1

類的概念

類及其與對象的關(guān)系

類是對該類對象的抽象描述,是一種復(fù)雜的數(shù)據(jù)類型,它是將數(shù)據(jù)屬性及其相關(guān)操作封裝在一起的集合體,包括了對象的屬性與方法或特征與行為,它是對象(事物)的模板或藍(lán)圖。類是對一類對象的抽象描述,對象是類的實例化。

2023/1/11第5章對象與類75.1面向?qū)ο蠡A(chǔ)0面向?qū)ο蠓椒ǖ奶匦蕴匦灾饕ǎ撼橄笮?、封裝性、繼承性與多態(tài)性。面向?qū)ο蟪绦蛟O(shè)計方法優(yōu)點可重用性.可擴(kuò)展性.可管理性.可自律性.可分離性.接口和消息機(jī)制。5.2類5.2.1

類的概念

類及其與對象的關(guān)系

類是對該類對象的抽象描述,是一種復(fù)雜的數(shù)據(jù)類型,它是將數(shù)據(jù)屬性及其相關(guān)操作封裝在一起的集合體,包括了對象的屬性與方法或特征與行為,它是對象(事物)的模板或藍(lán)圖。類是對一類對象的抽象描述,對象是類的實例化。

2023/1/11第5章對象與類85.2類5.2.2類的定義修飾符class類名[extends父類名][implements接口名]{

類體內(nèi)容 }說明:(1)其中修飾符用來說明類的屬性。(2)class是關(guān)鍵字,用來定義類。(3)extends關(guān)鍵字用來指明該類的父類,class類名是子類(4)implements關(guān)鍵字用來引出接口,以供本類中使用類體構(gòu)成類體內(nèi)容是java的主體部分,用以完成變量的說明以及方法的定義與實現(xiàn)。類體通常由變量和方法兩部分組成,變量描述該類對象的屬性,說明對象所處的狀態(tài);方法描述該類對象的行為或功能。2023/1/11第5章對象與類95.2類類體構(gòu)成及類的詳細(xì)描述類體結(jié)構(gòu)定義如下:

class類名

{//兩括號間為類主體

<成員變量的聲明> <成員方法聲明及實現(xiàn)> }

整個類的詳細(xì)結(jié)構(gòu)定義如下:修飾符class類名[extends父類名][implements接口名]{

修飾符類型成員變量[=初值];//成員變量序列

修飾符類型成員方法[(參數(shù)列表)//方法體

{

類型局部變量[=初值];//變量序列 語句序列;

}…}

【例4-1】根據(jù)笛卡兒坐標(biāo)中點的相應(yīng)位置,創(chuàng)建一個Cpoint類。

2023/1/11第5章對象與類105.3成員變量類的成員變量是指在位于類的內(nèi)部和方法定義外部所定義的變量,其作用域是整個類,即同一類中的所有方法都可以對它通過名字進(jìn)行訪問。方法體定義的變量則稱方法變量,它的作用域僅限于方法體內(nèi)。

類成員變量定義格式格式為:

[修飾符]類型變量列表【語法說明】(1)修飾符為可選項,可以是public、protected、private、static、final、transient、volatile等,用以說明成員變量的訪問權(quán)限。(2)類型可以是java中任一合法的數(shù)據(jù)類型。(3)變量列表是一組用“,”隔開的顯式定義的變量名。

【例4-15】使用static修飾符創(chuàng)建一個學(xué)生檔案信息。

classE_final{publicstaticvoidmain(Stringargs[]){System.out.println(Tom.MIN);Tomtom=newTom();intx=0;x=tom.MIN+tom.MAX;System.out.println(x);}}classTom{finalintMAX=70;staticfinalintMIN=30;}

5.6復(fù)合數(shù)據(jù)類型數(shù)組

本章結(jié)束?。?023/1/11第5章對象與類115.4方法5.4.1方法聲明方法聲明方法是類的主要組成部分,程序的作用體現(xiàn)在附有名字的子程序即方法中。一個類由一個主方法和若干個子方法構(gòu)成。類的方法又稱成員方法規(guī)范說明P100常用方法:部分常見方法如表4-1所示【例4-3】5.4.2方法調(diào)用方法的調(diào)用即該方法的調(diào)用運行。例如isPfime();【例4-4】調(diào)用業(yè)已定義的方法Scircle,Area,計算面積。5.4.3參數(shù)傳遞

參數(shù)傳遞方式有傳值與傳地址兩種。若方法的參數(shù)為簡單數(shù)據(jù)類型,則傳值,即將實參的值傳遞給形參若方法的參數(shù)為復(fù)合數(shù)據(jù)類型(對象),則傳地址,即將實參的地址傳遞給形參。【例4-8】參數(shù)傳遞與變化?!纠?-9】不同類間的參數(shù)傳遞。5.4.4構(gòu)造方法

2023/1/11第5章對象與類125.4方法5.4.4構(gòu)造方法

構(gòu)造方法,即類的同名方法泛稱為構(gòu)造方法。特點:(1)構(gòu)造方法是一種特殊的方法,它的名字必須與它所在的類的名字完全相同,且不返回任何數(shù)據(jù)類型,即它是省略void關(guān)鍵字的void型,構(gòu)造方法允許多態(tài)性。(2)類一般都有構(gòu)造方法,若無系統(tǒng)則自動添加無參構(gòu)造方法,系統(tǒng)自動地將所有的實例變量初始化為零。接口不允許被實例化,所以接口中沒有構(gòu)造方法。(3)重載經(jīng)常用于構(gòu)造方法。構(gòu)造方法可以繼承,即子類可以繼承父類的構(gòu)造方法。5.44遞歸遞歸系指用自身結(jié)構(gòu)來循環(huán)調(diào)用自己?!纠?-10】采用遞歸算法求n!(n=10)2023/1/11第5章對象與類135.5對象5.5.1對象的創(chuàng)建在Java語言里用new關(guān)鍵字來創(chuàng)建對象,其語法格式為:兩句語句直接完成:類名

對象名;對象名=new類名([參數(shù)列表]);

或可一句語句直接完成:類名

對象名=new類名([參數(shù)表]);使用new后,java實際上完成了如下操作:(1)在指定類上創(chuàng)建了一個對象;(2)為該對象分配了引用內(nèi)存空間(類似于數(shù)組分配內(nèi)存空間);(3)執(zhí)行由指定類所定義的構(gòu)造方法完成一系列初始化工作。

例如,系統(tǒng)已創(chuàng)建了Person類,利用它可生成兩個對象Mali和John:PersonMali; \\Mali對象兩句語句完成Mali=newPerson();PersonJohn=newPerson(); \\John對象一句語句完成

2023/1/11第5章對象與類145.4對象5.5.2對象的引用Java中,當(dāng)用類創(chuàng)建一個對象后,該對象就擁有了自己的成員變量和方法,對象通過使用這些方法可以產(chǎn)生一定的行為。即可以達(dá)到通過引用對象成員變量和方法的形式來引用對象。通過運算符“.”可以實現(xiàn)對變量的訪問和方法的調(diào)用。變量和方法可以通過設(shè)定訪問權(quán)限來限制其它對象對它的訪問。引用成員變量 引用對象的成員變量(1)對象名.成員變量名此方式使用于類對象已創(chuàng)建(PersonJohn=newPerson();已完成)。例如:J//引用John對象的成員變量name。又如:John.x=150;(2)new構(gòu)造方法名([參數(shù)列表]).成員變量名此方式適用于在創(chuàng)建對象與引用成員變量同時進(jìn)行的情形下。例如:在未執(zhí)行創(chuàng)建、初始化Person類對象時,newPerson().name語句同時引用匿名對象的成員變量name。又如:tx=newPerson().x;。2023/1/11第5章對象與類155.4對象引用成員方法引用成員方法的方式有如下兩種:(1)對象名.方法名([參數(shù)列表])此式用于類對象已建(類Person與對象John已建,且包含pay(inta))。例如:John.pay(25)//引用John對象的成員方法pay()。又如:John.move(30,20);(2)new構(gòu)造方法名([參數(shù)列表]).方法名([參數(shù)列表])此方式適用于在創(chuàng)建對象與引用成員方法同時進(jìn)行的情形下。例如:在未執(zhí)行創(chuàng)建、初始化Person類對象時,newPerson().pay()語句同時引用匿名對象的成員方法pay()。又如:newPoint().move(30,20);【例4-

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論