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