任桂明 使用java實(shí)現(xiàn)面向?qū)ο缶幊炭偨Y(jié)_第1頁
任桂明 使用java實(shí)現(xiàn)面向?qū)ο缶幊炭偨Y(jié)_第2頁
任桂明 使用java實(shí)現(xiàn)面向?qū)ο缶幊炭偨Y(jié)_第3頁
任桂明 使用java實(shí)現(xiàn)面向?qū)ο缶幊炭偨Y(jié)_第4頁
任桂明 使用java實(shí)現(xiàn)面向?qū)ο缶幊炭偨Y(jié)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——任桂明使用java實(shí)現(xiàn)面向?qū)ο缶幊炭偨Y(jié)第1章抽象和封裝

一、類是對象的抽象,對象是類的實(shí)例

二、使用面向?qū)ο筮M(jìn)行設(shè)計(jì)

面向?qū)ο笤O(shè)計(jì)的過程就是抽象的過程,分三步來完成:1.找出它的種類2.找出它的屬性3.找出它的行為

三、類名、屬性名、方法名以及常量名的命名規(guī)則:

1.類名由一個(gè)或幾個(gè)單詞組成,每個(gè)單詞的第一個(gè)字母大寫,如Dog、StringBuffer

2.屬性名和方法名由一個(gè)或幾個(gè)單詞組成,第一個(gè)單詞首字母小寫,其他單詞首字母大寫,例如health,stuName,println(),getMessage()。

3.常量名由一個(gè)或幾個(gè)單詞組成,所有字母大寫,如PI,SEX_MALE

四、靜態(tài)常量

1.static可以用來修飾屬性、方法和代碼塊

2.static修飾的屬性和方法稱為類屬性(類變量)、類方法

3.不使用static修飾的屬性和方法,屬于單個(gè)對象,尋常稱為實(shí)例屬性(實(shí)例變量)、實(shí)例方法

4.static修飾的變量和方法可以通過類名和對象名訪問,而不用static修飾的變量和方法只能通過對象名訪問

5.final可以用來修飾屬性、方法和類

6.用final修飾的變量成為常量,其值固定不變

五、構(gòu)造方法

1.構(gòu)造方法(Constructor)是一個(gè)特別的方法,它用于創(chuàng)立類的對象,因此一個(gè)類必需包含至少一個(gè)構(gòu)造方法,否則就無法創(chuàng)立對象。

2.構(gòu)造方法的名字和類名一致,沒有返回值類型。

3.構(gòu)造方法的作用主要就是在創(chuàng)立對象時(shí)執(zhí)行一些初始化操作,如給成員屬性賦初值。

六、方法重載的判斷依據(jù)1.必需是在同一個(gè)類里。2.方法名一致

3.方法參數(shù)個(gè)數(shù)或參數(shù)類型不同。

4.與方法返回值和方法修飾符沒有任何關(guān)系。

七、封裝

1.封裝(Encapsulation):是類的三大屬性之一,就是將類的狀態(tài)信息隱蔽在類內(nèi)部,不允許外部程序直接訪問,而是通過該類提供的方法來實(shí)現(xiàn)對隱蔽信息的操作和訪問。2.封裝的具體步驟:

1—修改屬性的可見性來限制對屬性的訪問,

2—為每個(gè)屬性創(chuàng)立一對賦值(setter)方法和取值(getter)方法,用于對這些屬性的存取。3—在賦值方法中,參與對屬性的存取控制語句。

3.封裝的好處:隱蔽類的實(shí)現(xiàn)細(xì)節(jié);讓使用者只能通過程序員規(guī)定的方法來訪問數(shù)據(jù);可以便利地參與存取控制語句,限制不合理操作。八、This的使用

由于this是在對象內(nèi)部指代自身的引用,所以this只能調(diào)用實(shí)例變量、實(shí)例方法和構(gòu)造方法this不能調(diào)用類變量和類方法。this也不能調(diào)用局部變量。

其次章繼承

一、使用繼承1.編寫父類ClassPet{

//公共的屬性和方法}

2.編寫子類,繼承父類ClassDogextendsPet{//子類特有的屬性和方法}

ClassPenguinextendsPet{}

二、理解繼承

1.子類訪問父類成員使用super關(guān)鍵字訪問父類屬性

S;(super代表父類對象)2)訪問父類方法Super.print();

2.有些父類成員不能繼承1)private成員

2)子類與父類不在同包,使用默認(rèn)訪問權(quán)限的成員3)構(gòu)造方法

3.訪問修飾符protected

1)可以修飾屬性和方法

2)本類、同包、子類可以訪問P434.符合is-a關(guān)系的設(shè)計(jì)使用繼承5.Java中,繼承(Inheritance)通過extends關(guān)鍵字來實(shí)現(xiàn),其中SubClass稱為子類,SuperClass稱為父類、基類或超類。

6.在子類中可以根據(jù)需求對從父類繼承的方法進(jìn)行重新編寫,稱為方法的重寫或方法的覆蓋。

方法的重寫滿足的要求:P46-47

7構(gòu)造方法不能被繼承因此不能被重寫。8.在子類中調(diào)用父類的構(gòu)造方法?Super();

Super(參數(shù)表);

9.super代表對當(dāng)前對象的直接父類對象的默認(rèn)引用。在子類中可以通過super關(guān)鍵字來訪問父類的成員。Super的要求P47

10.繼承條件下構(gòu)造方法的調(diào)用規(guī)則:P48-4911.使用this和super本卷須知:P49

12.抽象類和抽象方法都通過abstract關(guān)鍵字來修飾。P5513.abstract也可以用于方法——抽象方法1)抽象方法沒有方法體

2)抽象方法必需在抽象類里。

3)抽象方法必需在子類中被實(shí)現(xiàn),除非子類是抽象類。Publicabstractvoidprint();——沒有方法體14.final修飾符

1)用final修飾的類,不能再被繼承2)用final修飾的方法,不能被子類重寫

3)用final修飾的變量(包括成員變量和局部變量)將變成常量,只能賦值一次。注意:P57

15.abstract是否可以和private、static、final共用P58

第三章多態(tài)

一:1.個(gè)引用類型,使用不同的實(shí)例而執(zhí)行不同操作。(父類引用子類對象)

使用多態(tài)的好處:通過多態(tài)可以減少類中的代碼量,可以提高代碼的可擴(kuò)展性和可維護(hù)性。2.實(shí)現(xiàn)思路

編寫父類

編寫子類,子類重寫父類方法

運(yùn)行時(shí),使用父類的類型,子類的對象。

三:實(shí)現(xiàn)多態(tài)的兩個(gè)要素

1.重寫

使用父類類型方法重寫的規(guī)則在繼承關(guān)系的子類中

重寫的方法名、參數(shù)、返回值類型必需與父類一致私有方法不嫩策略因而也無法重寫。2.Instanceof運(yùn)算符

語法:instanceof類或接口

該運(yùn)算用來判斷一個(gè)對象是否屬于一個(gè)類或者實(shí)現(xiàn)了一個(gè)接口。結(jié)果為true或false。子類轉(zhuǎn)換成父類時(shí)的規(guī)則:P74子類到父類的轉(zhuǎn)換(向上轉(zhuǎn)換)

父類到子類的轉(zhuǎn)化(向下轉(zhuǎn)換)

第四章接口

一、接口可以看作是一種特別的“抽象類〞。

二、接口有比抽象類更好的特性1.可以被多繼承

2.設(shè)計(jì)和實(shí)現(xiàn)完全分開3.更自然的使用多態(tài)

三、接口語法

publicinterfaceMyinterface{publicvoidfoo(){//其他方法}

說明P99-100

使用接口:編寫接口,實(shí)現(xiàn)接口,使用接口

四、接口特性

1.接口不可以被實(shí)例化

2.實(shí)現(xiàn)類必需實(shí)現(xiàn)接口的所有方法3.實(shí)現(xiàn)類可以實(shí)現(xiàn)多個(gè)接口4.接口中的變量都是常量

五、接口表示一種約定:表達(dá)在接口名稱和解釋上(有些接口只有名稱,方法的實(shí)現(xiàn)方式要通過解釋來約定)

面向接口編程:程序設(shè)計(jì)時(shí)面向接口的約定而不考慮具體實(shí)現(xiàn)。P104

六、接口是一種能力:表達(dá)在接口的方法上

面向接口編程:關(guān)心實(shí)現(xiàn)類有何能力,而不關(guān)心實(shí)現(xiàn)細(xì)節(jié)。

七、C#中的接口

[修飾符]interface接口名:父接口1,父接口2,??{屬性定義方法定義}

class類名:父類名,接口1,接口2,??{}

八、語法對比(Java&C#)P115

第八章異常

一:定義:異常是在程序的運(yùn)行過程中所發(fā)生的不正常的事件,他會(huì)中斷正在運(yùn)行的程序二:異常處理

關(guān)鍵字:trycatchfinallythrowthrowsTry:把可能出現(xiàn)異常的代碼放入try中Catch:捕獲異常

Finally:無論是否有異常,都會(huì)執(zhí)行的代碼Throw:總是出現(xiàn)在方法體

Throws:總是出現(xiàn)在方法的聲明中,用了說明改方法可能拋出的各種異常三:常見的異常

Exception:異常層次結(jié)構(gòu)的根類

ArithmeticException:算數(shù)錯(cuò)誤的情形,

ArrayIndexOutOfBoundsException:數(shù)組大于或小于實(shí)際數(shù)組的大小NullPointerException:嘗試訪問null對象成員

ClassN

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論