版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第9章面向?qū)ο笤O(shè)計(jì)——類和對象,面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念 類 對象 類的屬性 類的方法,9.1 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,9.1.1 對象9.1.2 類9.1.3 封裝性9.1.4 繼承性9.1.5 多態(tài)性,9.1.1 對象 對象的特征分為靜態(tài)特征和動態(tài)特征兩種 靜態(tài)的特征指對象的外觀、性質(zhì)、屬性等 動態(tài)的特征指對象具有的功能、行為等 人們將對象的
2、靜態(tài)特征抽象為屬性,用數(shù)據(jù)來描述,在Java語言中稱之為變量;人們將對象的動態(tài)特征抽象為行為,用一組代碼來表示,完成對數(shù)據(jù)的操作,在Java語言中稱之為方法,9.1.2 類 將具有相同屬性及相同行為的一組對象稱為類 面向?qū)ο蟮某绦蛟O(shè)計(jì)有三個主要特征如下 ⑴ 封裝性 ⑵ 繼承性 ⑶ 多態(tài)性,9.1.3 封裝性 封裝性將盡可能對外界公布一個有限的界面,而將其細(xì)節(jié)隱藏起來 有了封裝性
3、,軟件設(shè)計(jì)人員可以集中精力考慮開發(fā)系統(tǒng)各模塊之間的關(guān)系等重大問題,而模塊內(nèi)部的實(shí)現(xiàn)可得到程序設(shè)計(jì)人員的研究與完善,可以充分保證模塊質(zhì)量和可靠性,也支持軟件工程化思想,9.1.4 繼承性 繼承所表達(dá)的就是一種對象之間的相交關(guān)系,它使得某類對象可以繼承另外一類對象的數(shù)據(jù)成員和成員方法 繼承具有以下特征 ⑴ 繼承關(guān)系是傳遞的。繼承是在一些比較一般的類的基礎(chǔ)上構(gòu)造、建立和擴(kuò)充新類的最有效的手段 ⑵ 繼承簡化了人
4、們對事物的認(rèn)識和描述,能清晰體現(xiàn)相關(guān)類間的層次結(jié)構(gòu)關(guān)系,9.1.4 繼承性 ⑶ 提供軟件復(fù)用功能。 ⑷ 通過增強(qiáng)一致性來減少模塊間的接口和界面,大大增加程序的易維護(hù)性。 ⑸ 提供多重繼承機(jī)制。從理論上說,一個類可以是多個一般類的特殊類,它可以從多個一般類中繼承屬性和方法,這便是多重繼承。而 Java 出于安全性和可靠性的考慮,僅支持單重繼承,而通過使用接口機(jī)制來實(shí)現(xiàn)多重繼承。,9.1.5 多態(tài)性 多態(tài)
5、是面向?qū)ο蟪绦蛟O(shè)計(jì)的又一個重要特征。多態(tài)是允許程序中出現(xiàn)重名現(xiàn)象。Java語言中含有方法重載與成員覆寫兩種形式的多態(tài) 多態(tài)的特性使程序的抽象程度和簡捷程度更高,9.2 類,9.2.1 類的聲明9.2.2 類的定義,9.2.1 類的聲明 類聲明的語法如下 class 類名稱 { //類的成員變量 //類的方法 },9.2.1 類的聲明 【范例9-1】 類的組成使
6、用范例,9.2.2 類的定義 定義類的語法如下 class 類名稱 { 數(shù)據(jù)類型 屬性 ; 返回值的數(shù)據(jù)類型 方法名稱(參數(shù)1,參數(shù)2…) { 程序語句 ; return 表達(dá)式 ; } },9.2.2 類的定義 【范例9
7、-2】 類的定義使用范例,9.3 對象,9.3.1 對象的聲明9.3.2 對象的使用9.3.3 對象的比較9.3.4 對象數(shù)組的使用,9.3.1 對象的聲明 下面定義了由類產(chǎn)生對象的基本形式 類名 對象名 = new 類名() ; 創(chuàng)建屬于某類的對象,需要通過下面兩個步驟來實(shí)現(xiàn) ⑴ 聲明指向"由類所創(chuàng)建的對象"的變量 ⑵ 利用new創(chuàng)建新的對象,并指派給先
8、前所創(chuàng)建的變量,9.3.2 對象的使用 要訪問對象里的某個成員變量或方法時,可以通過下面語法來實(shí)現(xiàn) 訪問屬性:對象名稱.屬性名 訪問方法:對象名稱.方法名()【范例9-3】 使用Person類的對象調(diào)用類中的屬性與方法的過程,9.3.3 對象的比較 【范例9-4】 “==”運(yùn)算符用于比較使用范例 【范例9-5】 equals方法用于對象比較使用范例,9.3.4 對象數(shù)組的使用
9、 對象也可以用數(shù)組來存放,通過下面兩個步驟來實(shí)現(xiàn) ⑴ 聲明類類型的數(shù)組變量,并用new分配內(nèi)存空間給數(shù)組 ⑵ 用new產(chǎn)生新的對象,并分配內(nèi)存空間給它 【范例9-6】 靜態(tài)方式初始化對象數(shù)組使用范例,9.4 類的屬性,9.4.1 屬性的定義9.4.2 屬性的使用,9.4.1 屬性的定義 [public|protected|private|default] [(static [final]) |(
10、final [static])] className prorotypeName 類的屬性定義規(guī)則如下 ⑴ 類的屬性是變量 ⑵ 類的屬性的類型可以是基本類型也可以是引用類型 ⑶ 類的屬性的命名規(guī)則,首單詞的首字母小寫,其余單詞的首字母大寫,9.4.2 屬性的使用 【范例9-7】 類的屬性組使用范例,9.5 類的方法,9.5.1 方法的定義9.5.2 方法的使用9.5.3 構(gòu)造方法
11、9.5.4 構(gòu)造方法的重載9.5.5 構(gòu)造方法的私有9.5.6 在類內(nèi)部調(diào)用方法,9.5.1 方法的定義 定義方法的一般形式如下 type name(參數(shù)列表) { /方法主體 },9.5.2 方法的使用 【范例9-8】 靜態(tài)方式初始化對象數(shù)組使用范例,9.5.3 構(gòu)造方法 【范例9-9】 Java中構(gòu)造方法的使用范例,9.5.4 構(gòu)造方法的重載 【范例9-
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java面向?qū)ο蟪绦蛟O(shè)計(jì)03類與對象
- 面向?qū)ο笤O(shè)計(jì)
- 面向?qū)ο蟮姆治龊驮O(shè)計(jì)
- 面向?qū)ο笤O(shè)計(jì)原則
- 面向?qū)ο筌浖悳y試研究.pdf
- 面向?qū)ο筌浖念悓ο髣討B(tài)更新技術(shù)研究.pdf
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》
- 面向?qū)ο笤O(shè)計(jì)外文翻譯
- 5類和對象(上)
- 空間對象和移動對象聚類算法研究.pdf
- 面向?qū)ο笳n程設(shè)計(jì)---集合類的設(shè)計(jì)與實(shí)現(xiàn)
- java面向?qū)ο罂碱}和答案
- 面向?qū)ο蟪绦蛟O(shè)計(jì)中復(fù)雜對象的分解和高度關(guān)聯(lián)對象間耦合的降解.pdf
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)(java)》
- 面向?qū)ο笳n程設(shè)計(jì)報(bào)告
- 面向?qū)ο笤O(shè)計(jì)外文翻譯 (2)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)報(bào)告
評論
0/150
提交評論