java就業(yè)培訓(xùn)教程第三章 面向?qū)ο?上)

java就業(yè)培訓(xùn)教程第三章 面向?qū)ο?上)

ID:18839371

大小:1.50 MB

頁數(shù):45頁

時間:2018-09-25

java就業(yè)培訓(xùn)教程第三章 面向?qū)ο?上)_第1頁
java就業(yè)培訓(xùn)教程第三章 面向?qū)ο?上)_第2頁
java就業(yè)培訓(xùn)教程第三章 面向?qū)ο?上)_第3頁
java就業(yè)培訓(xùn)教程第三章 面向?qū)ο?上)_第4頁
java就業(yè)培訓(xùn)教程第三章 面向?qū)ο?上)_第5頁
資源描述:

《java就業(yè)培訓(xùn)教程第三章 面向?qū)ο?上)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第3章面向?qū)ο螅ㄉ希?.1面向?qū)ο蟮母拍蠲嫦驅(qū)ο笫橇畲蠖鄶?shù)人都只可意會,難以言宣的大概念。我下面的講解主要是沖著幫你迅速理解面向?qū)ο蟮膬?nèi)涵而來的,不見得非常嚴(yán)謹(jǐn)和完全正確,但我個人認(rèn)為是合理的,是我的體會和認(rèn)識,我也曾經(jīng)用過同樣的方式,讓許多人仿佛一下子就明白了什么是面向?qū)ο蟆J裁词敲嫦驅(qū)ο?,這是一個相對概念,是相對面向過程而言的。就象要理解什么是幸福,要先理解什么是痛苦一樣的道理,在講解面向?qū)ο笾?,我要先簡單介紹一下什么是面向過程。3.1.1面向過程在早期出現(xiàn)的編程語言中,如大家都非常熟悉的C語言,當(dāng)我們要用這種

2、語言來定義一個復(fù)雜的數(shù)據(jù)類型,譬如Windows窗口時,可以用結(jié)構(gòu)體(struct)來實現(xiàn),只要在結(jié)構(gòu)體中使用那些基本的數(shù)據(jù)類型來定義窗口的大小,位置,顏色,背景等屬性就可以了。如果我們要對一個Windows窗口進(jìn)行各種操作,如隱藏窗口,移動窗口,最小化窗口等等,我們要為每個操作都定義一個函數(shù),這些函數(shù)與窗口本身的定義沒有任何關(guān)系,如HideWindow,MoveWindow,MinimizeWindow,這些函數(shù)都需要接受一個參數(shù),即要操作的窗口。這是一種謂語與賓語的關(guān)系,“隱藏”、“移動”等是謂語,“窗口”是賓語

3、。程序的重心集中在函數(shù)(即謂語)上。3.1.2面向?qū)ο笤贑++,java語言中,我們可以將一個窗口當(dāng)作一個主體(對象)來看,定義窗口時,除了要指定在面向過程中規(guī)定的那些屬性,如大小,位置,顏色,背景等外,還要指定該窗口可能具有的動作,如隱藏,移動,最小化等。我們在定義窗口時,就要定義好對應(yīng)這些動作的函數(shù)(也叫方法),如Hide,Move,Minimize,注意體會這些函數(shù)名稱與上面的名稱的區(qū)別,這是作者刻意這么安排的,讓讀者更好地去對比,從函數(shù)名稱上就能看出,這些函數(shù)都不再接受代表窗口的參數(shù)。這些函數(shù)被調(diào)用時,都是以

4、某個窗口要隱藏,某個窗口要移動,某個窗口要最小化的語法格式來使用的。這是一種主語與謂語的關(guān)系,程序的重點(diǎn)集中在主體/對象(主語)上。雖然讀者在下面的講解中能夠發(fā)現(xiàn)面向?qū)ο蟮闹R遠(yuǎn)不止這一點(diǎn)(剛才講的只是面向?qū)ο蟮囊粋€方面,即封裝性,用類封裝了數(shù)據(jù)與函數(shù)),真正能體現(xiàn)面向?qū)ο蟮膹?qiáng)大優(yōu)勢的地方,是在面向?qū)ο蟮睦^承與多態(tài)性方面,但作者認(rèn)為,封裝性是面向?qū)ο蟮母春妥罡镜膶傩?。Java類同其他面向?qū)ο蟮木幊陶Z言一樣,也支持面向?qū)ο?OOP)的三個特征:u封裝(Encapsulation)u繼承(Inheritance)u多

5、態(tài)(Polymorphism)要想領(lǐng)悟面向?qū)ο蟮乃枷耄荒馨褜W(xué)習(xí)重點(diǎn)放在術(shù)語的死記硬背上,形而上學(xué),而應(yīng)該把精力主要放在實踐和思考上,通過大量實踐去理解和掌握。如果讀者到現(xiàn)在還不能完全明白面向?qū)ο笫鞘裁?,也沒關(guān)系,學(xué)完下面的內(nèi)容后,再回過頭來看吧!1063.2類與對象面向?qū)ο蟮木幊趟枷肓D使在計算機(jī)語言中對事物的描述與現(xiàn)實世界中該事物的本來面目盡可能的一致,類(class)和對象(object)就是面向?qū)ο蠓椒ǖ暮诵母拍睢n愂菍δ骋活愂挛锏拿枋?,是抽象的、概念上的定義;對象是實際存在的該類事物的個體,因而也稱實例(i

6、nstance)。如圖3.1所示就是一個典型的說明:圖3.1其中,汽車設(shè)計圖就是“類”,由這個圖紙設(shè)計出來的若干的汽車就是按照該類產(chǎn)生的“對象”??梢?,類描述了對象的屬性和對象的行為,類是對象的模板、圖紙。對象(Object)是類(Class)的一個實例(Instance),是一個實實在在的個體,一個類可以對應(yīng)多個對象。如果將對象比作汽車,那么類就是汽車的設(shè)計圖紙。所以面向?qū)ο蟪绦蛟O(shè)計的重點(diǎn)是類的設(shè)計,而不是對象的設(shè)計。同一個類按同種方法產(chǎn)生出來多個對象,剛開始的狀態(tài)都應(yīng)該是一樣的,好比按照“奔馳s600”型設(shè)計圖紙

7、生產(chǎn)出來的汽車剛開始都是一樣的,其中一輛“奔馳s600”汽車被改裝后,是不會影響到同型號的其他“奔馳s600”汽車的。但如果修改了“奔馳s600”型的設(shè)計圖紙,就會影響到以后所有出廠的“奔馳s600”汽車。3.2.1類的定義類可以將數(shù)據(jù)和函數(shù)封裝在一起,其中數(shù)據(jù)表示類的屬性,函數(shù)表示類的行為。定義類就是要定義類的屬性與行為(方法)。請看這段代碼:classPerson{intage;voidshout(){System.out.println(“oh,mygod!myageis“+age);}}106其中,定義了一個

8、Person類,該類有一個屬性age,一個方法shout。類的屬性也叫類成員變量,類的方法也叫類的成員函數(shù)。一個類中的方法可以直接訪問同類中的任何成員(包括成員變量和成員函數(shù)),如shout方法可以直接訪問同一個類中的age變量。M腳下留心:如果一個方法中有與成員變量同名的局部變量,該方法中對這個變量名的訪問是局部變量,而不再是成員變量。如:c

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。