java技術(shù)總結(jié)面向?qū)ο笤O(shè)計方法_第1頁
java技術(shù)總結(jié)面向?qū)ο笤O(shè)計方法_第2頁
java技術(shù)總結(jié)面向?qū)ο笤O(shè)計方法_第3頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、技術(shù)總結(jié)象設(shè)計方面 象技術(shù)總結(jié)象設(shè)計方面 象設(shè)計方法前面介紹了面 象技術(shù)的兩個最基本、最重要的概念類和對象,下面介紹一下面對于初學(xué)者來說,面 象是學(xué)習(xí) Java 語言時的第一個難點,其實面 象只是一種思考按照數(shù)據(jù)和功能的相關(guān)性進(jìn)行組織。在使用面 象技術(shù)設(shè)計項目時,其中步驟 1 和2 是設(shè)計需要實現(xiàn)的功能,步驟 3程等則可以抽象成類。而實際在抽象時,由于有一定的 性,所以在系統(tǒng)設(shè)計時,不同人在一個類 會存在很多的數(shù)據(jù)和功能,在實際抽象時,只需要抽象自己需要的數(shù)據(jù)和功能即可。例如在學(xué)生成績管理系統(tǒng)中,學(xué)生的 、班級和各個科目的成績都是系統(tǒng)中需要使用的數(shù)據(jù),而學(xué)生的家庭住址, 則不會必須的屬性,可以

2、根據(jù)實際的需要取舍數(shù)據(jù)進(jìn)行描述即可。當(dāng)然,面 象設(shè)計還涉及很多其它的知識,這里講解的只是一些基礎(chǔ)的入門知識, 的有關(guān)面 象的知識可以閱讀關(guān)于面 象技術(shù)的專門書籍,并且在項目開象三大特性封裝性而不需要 的了解 的信息。在面 象技術(shù)中,類是典型的封裝性的體現(xiàn),類將一組屬性和功能組 一個 的結(jié)構(gòu),并使用類名來代表該結(jié)構(gòu)。封裝性的最大優(yōu)勢在于隱藏每個類的 實現(xiàn)( 結(jié)構(gòu)),從而既方便項目的分解也降低了項目的難度。而不需要 的了解 的信息。在面 象技術(shù)中,類是典型的封裝性的體現(xiàn),類將一組屬性和功能組 一個 的結(jié)構(gòu),并使用類名來代表該結(jié)構(gòu)。封裝性的最大優(yōu)勢在于隱藏每個類的 實現(xiàn)( 結(jié)構(gòu)),從而既方便項目的分

3、解也降低了項目的難度。 繼承性在 認(rèn)知現(xiàn)實世界時,一般會把事物進(jìn)行分類,而每一類 又劃分出很多的小類,生物一個類的 會包含和其它類類似的特征和屬性,如果在設(shè)計時可以以另外一個類為基礎(chǔ)進(jìn)行設(shè)計,那將是多么激動人心的特性,這個特性就是面 象設(shè)計中的繼承性。在一個項目中,如果類和類之間 包含關(guān)系,即一個類是另外一個類的一種,就可以使用降低了類 的代碼重復(fù),是設(shè)計類的一種顯著的 ,對于大型的項目設(shè)計十分有用。另繼承語法Java語言中,繼承的語法格式比較簡單,如下所述:控制符修飾符 class 類名 extends 父類名在 類時, 該類的繼承關(guān)系,使用 extends extends 關(guān)鍵字前面是 出

4、的新類名,extends關(guān)鍵字后面的類名是被繼承的類名,要求被繼承的類名已存在。 Java 語言采用的是單重繼承,也就是說一個類只能有一個直接父類。在類 時,如果沒extends 關(guān)鍵字 父類,則自動繼承 Object 類。說明:Object 類是系統(tǒng)提供的publicclassAnimalString name;publicclassMammaliaextends 。publicclassMammaliaextends 。 publicvoidpublicsMonsterpublicvoids public MonsterpublicvoidNormalMonster Monstermove

5、 NormalMonster Monstermove 的 和在super 關(guān)鍵字手動調(diào)用,關(guān)于super類A是類B B A A B B publicDoor 則這里Door 的對象是House 類的屬性,則Door 和House 類之間的關(guān)系就是使用關(guān)系, House 使用Door 類來制作自身。使用關(guān)系提供了使用已有類來依據(jù)就是:has-a,一個類具備另外一個類的對象,例如一個House 有一個門。例如 s 是怪物的一種,則使 s Monster 類。下面簡單介紹一些項目中繼承的設(shè)多態(tài)多態(tài)性是面 象技術(shù)中最靈活的特性,主要是增強(qiáng)項目的可擴(kuò)展性,提高代碼的可 性。多public claspub

6、licvoid/ public publicvoid/ public SuperClasspublicvoid在該示例代碼中,SubbClass1 和SubbClass2 是SuperClass 都publicvoid/ public SuperClasspublicvoid在該示例代碼中,SubbClass1 和SubbClass2 是SuperClass 都test 方法。由于這三個類中都書寫構(gòu)造方法,則按照默認(rèn)構(gòu)造方法的約定,對象類型的多態(tài)SuperClasssc=newSuperClass類型的對象scSuperClass的子類SubbClass1 的卻是SubbClass1 inst

7、anceof達(dá)式的值為true,否則為 false。對象名 * publicclassTestObjectTypepublicicvoidmain(String 了,這就是對象的多態(tài)。其實sc SubbClass1 類型的,的內(nèi)容也是SubbClass1 的內(nèi)容,具體參看后面介紹的對象 了,這就是對象的多態(tài)。其實sc SubbClass1 類型的,的內(nèi)容也是SubbClass1 的內(nèi)容,具體參看后面介紹的對象在多個SubbClass1 和SubbClass2 SuperClasssc=newSuperClass3; sc0 = new SubbClass1();sc1=newsc2=new子類

8、的對象,而只是在名義上的類型(語法上的類型)SuperClass類型的,這樣將方便程 SuperClasssc=newSuperClass3; sc0 = new SubbClass1();sc1=newSubbClass2(); sc2=new SuperClass sc = new SuperClass();SubbClass1sc1=newSubbClass1(); SubbClass2sc2=newSubbClass2(); publicSuperClass 。對象方法的多態(tài)對象方法的多態(tài)* publicicvoidmain(StringSuperClasssc=newSuperClass(); SubbClass1sc1=newSubbClas

溫馨提示

  • 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

提交評論