版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Lesson6面向?qū)ο?1).ppt面向?qū)ο蟮幕靖拍頽什么是面向?qū)ο??n面向過程 在一個結(jié)構(gòu)體中定義窗口的大小,位置等屬性,對窗口操作的函數(shù)與窗口本身的定義沒有任何關(guān)系,如moveWindow,minimize-Window,這些函數(shù)都需要接受一個代表要被操作的窗口參數(shù),謂與賓關(guān)系。n面向?qū)ο?定義窗口時,屬性、動作(操作)定義在一起: 除了要指定在面向過程中規(guī)定的那些屬性,如大小,位置等外,還要指定該窗口可能具有的動作,如移動,最小化等,對應(yīng)的函數(shù)是move, minimize等。這些函數(shù)被調(diào)用時,都是以某個窗口要隱藏,某個窗口要移動的語法格式來使用的,是一種主謂關(guān)系。面向?qū)ο蟮幕靖拍頽
2、面向?qū)ο蠹夹g(shù)為程序設(shè)計注入了新的活力,使計算機(jī)與現(xiàn)實(shí)更接近,更符合人的思維,更富于表現(xiàn)大千世界n每個人都要從對象的角度思考問題,去關(guān)心對象,體貼對象n萬事萬物皆對象!n“類”是對事物的描述,是抽象的、概念上的定義;“對象”是實(shí)際存在的該類事物的每個個體,是實(shí)實(shí)在在的東西,因而也稱實(shí)例(instance),或者對象實(shí)例。 n面向?qū)ο蟮木幊踢^程,就是對象事物的描述(class)與生產(chǎn)(new)、然后是各對象之間交流、通信(對象的動作與互操作)的過程。n面向?qū)ο蟮娜筇卣?1.封裝 (Encapsulation) 2.繼承 (Inheritance) 3.多態(tài) (Polymorphism)類的定義c
3、lass Personint age;void shout()System.out.println(“oh,my god! I am “ + age);nage是類的屬性,也叫類成員變量 。nshout是方法, 也叫類的成員函數(shù)。nshout方法可以直接訪問同一個類中的age變量,當(dāng)然也可以訪問其它的成員方法。如果一個方法中有與成員變量同名的局部變量,該方法中對這個變量名的訪問是局部變量,而不再是成員變量。 對象的產(chǎn)生Person p1 = new Person();執(zhí)行完后的內(nèi)存狀態(tài)對象的產(chǎn)生n當(dāng)一個對象被創(chuàng)建時,會對其中各種類型的成員變量自動進(jìn)行初始化賦值。除了基本數(shù)據(jù)類型之外的變量類型都
4、是引用類型,如上面的Person及前面講過的數(shù)組。 對象的使用n創(chuàng)建新的對象之后,我們就可以使用“ 對象名.對象成員 ”的格式,來訪問對象的成員(包括屬性和方法) class TestPersonpublic static void main(String args) Person p1 = new Person();Person p2 =new Person();p1.age = -30;p1.shout();p2.shout();上面程序運(yùn)行的內(nèi)存布局如下圖 對象的生命周期對象的比較n“=”運(yùn)算符與equals()方法的區(qū)別,切記!n思考:怎樣比較兩個數(shù)組對象的內(nèi)容是否相等 ?匿名對象n我
5、們也可以不定義對象的句柄,而直接調(diào)用這個對象的方法。這樣的對象叫做匿名對象, 如:new Person().shout();n如果對一個對象只需要進(jìn)行一次方法調(diào)用,那么就可以使用匿名對象。n我們經(jīng)常將匿名對象作為實(shí)參傳遞給一個函數(shù)調(diào)用。實(shí)現(xiàn)類的封裝性nage = -1; 如果外面的程序可以隨意修改一個類的成員變量,會造成不可預(yù)料的程序錯誤,就象一個人的身高,不能被外部隨意修改,只能通過各種攝取營養(yǎng)的方法去修改這個屬性。n在定義一個類的成員(包括變量和方法)時,使用private關(guān)鍵字說明這個成員的訪問權(quán)限,這個成員成了類的私有成員,只能被這個類的其他成員方法調(diào)用,而不能被其他的類中的方法所調(diào)用
6、。n為了實(shí)現(xiàn)良好的封裝性,我們通常將類的成員變量聲明為private,再通過public的方法來對這個變量進(jìn)行訪問。對一個變量的操作,一般都有讀取和賦值操作,我們分別定義兩個方法來實(shí)現(xiàn)這兩種操作,一個是getXxx()(Xxx表示要訪問的成員變量的名字),用來讀取這個成員變量操作,另外一個是setXxx()用來對這個成員變量賦值。n一個類通常就是一個小的模塊,我們應(yīng)該讓模塊僅僅公開必須要讓外界知道的內(nèi)容,而隱藏其它一切內(nèi)容。我們在進(jìn)行程序的詳細(xì)設(shè)計時,應(yīng)盡量避免一個模塊直接修改或操作另一個模塊的數(shù)據(jù),模塊設(shè)計追求強(qiáng)內(nèi)聚(許多功能盡量在類的內(nèi)部獨(dú)立完成,不讓外面干預(yù)),弱耦合(提供給外部盡量少的方法調(diào)用)。 舉例:游戲類的封裝所帶來的優(yōu)點(diǎn)n隱藏類的實(shí)現(xiàn)細(xì)節(jié);n讓使用者只能通過事先定制好的方法來訪問數(shù)據(jù),可以方便地加入控制邏輯,限制對屬性的不合理操作;n便于修改,增強(qiáng)代碼的可維護(hù)性;private訪問權(quán)限思考n思考:我們在一個類中定義了一個private類型的成員變量,接著產(chǎn)生了這個類的兩個實(shí)例對象,請問第一個對象的方法中,能否以“第二個對象.成員”的格式訪問第二個對象中的那個private成員變量? 復(fù)習(xí)與實(shí)踐n寫一個長方體類,要求:
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年KTV特色主題活動策劃與執(zhí)行合同3篇
- 2025版攤鋪機(jī)租賃及施工質(zhì)量保障合同范本6篇
- 個人健身教練合同:2024版專業(yè)輔導(dǎo)合同書
- 2025年度臨時用工勞務(wù)合同編制指南范本2篇
- 二零二五年度光伏電站運(yùn)維人工勞務(wù)合同范本3篇
- 2025年木材市場分析與預(yù)測合作合同范本
- 二零二五版木門行業(yè)展會參展與推廣服務(wù)合同4篇
- 二零二五年度數(shù)字貨幣技術(shù)研發(fā)與應(yīng)用合同集2篇
- 2025年戶外健身路徑欄桿設(shè)施采購合同3篇
- 2025年度獵頭服務(wù)人才引進(jìn)與培養(yǎng)合作協(xié)議5篇
- 《電影之創(chuàng)戰(zhàn)紀(jì)》課件
- 社區(qū)醫(yī)療抗菌藥物分級管理方案
- 開題報告-鑄牢中華民族共同體意識的學(xué)校教育研究
- 《醫(yī)院標(biāo)識牌規(guī)劃設(shè)計方案》
- 公司2025年會暨員工團(tuán)隊頒獎盛典攜手同行共創(chuàng)未來模板
- 夜市運(yùn)營投標(biāo)方案(技術(shù)方案)
- 電接點(diǎn) 水位計工作原理及故障處理
- 國家職業(yè)大典
- 2024版房產(chǎn)代持協(xié)議書樣本
- 公眾號運(yùn)營實(shí)戰(zhàn)手冊
- 科研倫理與學(xué)術(shù)規(guī)范(研究生)期末試題庫及答案
評論
0/150
提交評論