版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
會(huì)計(jì)學(xué)1Java面向?qū)ο缶幊袒A(chǔ)25.1面向?qū)ο蟮膸讉€(gè)概念5.1.1對(duì)象、類與實(shí)體
對(duì)象的概念是面向?qū)ο蠹夹g(shù)的核心所在。以面向?qū)ο蟮挠^點(diǎn)看來,所有的面向?qū)ο蟮某绦蚨际怯蓪?duì)象來組成的,這些對(duì)象首先是自治、獨(dú)立的,同時(shí)它們還可以互相通信、協(xié)調(diào)和配合,從而完成整個(gè)程序的任務(wù)和功能。⒈對(duì)象現(xiàn)實(shí)世界中某個(gè)具體的物理實(shí)體在計(jì)算機(jī)邏輯中的映射和體現(xiàn)。⒉類
同種對(duì)象的集合與抽象。關(guān)系類是一種抽象的數(shù)據(jù)類型,是所有具有一定共性的對(duì)象的抽象。屬于類的某一個(gè)對(duì)象則被稱為類的一個(gè)實(shí)例,是類的一次實(shí)例化的結(jié)果。第1頁/共20頁35.1面向?qū)ο蟮膸讉€(gè)概念面向?qū)ο蠹夹g(shù)的一個(gè)關(guān)鍵的設(shè)計(jì)思想就是要讓計(jì)算機(jī)邏輯來模擬現(xiàn)實(shí)世界的物理存在。物理實(shí)體數(shù)據(jù)類型實(shí)體要解決問題相關(guān)數(shù)據(jù)和屬性類對(duì)象面向?qū)ο蠊ぞ邔?shí)例化抽象第2頁/共20頁45.1面向?qū)ο蟮膸讉€(gè)概念5.1.2對(duì)象的屬性⒈狀態(tài)屬性(靜態(tài)屬性)主要指對(duì)象內(nèi)部所包含的各種信息,也就是變量。每個(gè)對(duì)象個(gè)體都具有自己專有的內(nèi)部變量,這些變量的值標(biāo)明了對(duì)象所處的狀態(tài)。例:每一臺(tái)電視機(jī)都有如下狀態(tài)信息:種類、品牌、大小、顏色⒉行為屬性(對(duì)象的操作)主要表述對(duì)象的動(dòng)態(tài)屬性,操作的作用是設(shè)置或改變對(duì)象的狀態(tài)。對(duì)象的方法一方面把對(duì)象的內(nèi)部變量包裹、封裝、保護(hù)起來,使得只有對(duì)象自己的方法才能操作這些內(nèi)部變量;另一方面,對(duì)象的方法還是對(duì)象與外部環(huán)境和其他對(duì)象交互通信的接口,對(duì)象的環(huán)境和其他對(duì)象可以通過這個(gè)接口來調(diào)用對(duì)象的方法,操縱對(duì)象的行為和改變對(duì)象的狀態(tài)。例:每一臺(tái)電視機(jī)都有開、關(guān)操作第3頁/共20頁55.1面向?qū)ο蟮膸讉€(gè)概念⒊標(biāo)志對(duì)象的名稱,是一個(gè)對(duì)象區(qū)別于其他對(duì)象的標(biāo)志??偨Y(jié):對(duì)象的靜態(tài)屬性表示它所處狀態(tài)。對(duì)象操作:用來改變對(duì)象的狀態(tài)以達(dá)到特定的功能。對(duì)象最主要的特點(diǎn)是以數(shù)據(jù)為中心,它是一個(gè)集成了數(shù)據(jù)和其操作的獨(dú)立、自治的邏輯單位。第4頁/共20頁65.2類5.2.1類的定義⒈類頭定義格式[修飾符]class類名[extends父類名][implements接口名列表]例:classk05_1{ privatedoublelength; privatedoublewidth;}說明:⑴Java的修飾符,分為訪問控制符和非訪問控制符。 訪問控制符:public、private、protected
非訪問控制符:abstract、static、finalJava的主類定義時(shí)必須被修飾為public,當(dāng)缺省此選項(xiàng)時(shí),則定義的類為非公有的、非抽象、非最終的。第5頁/共20頁75.2類⑵class為Java的關(guān)鍵字,定義一個(gè)類時(shí),必須用此關(guān)鍵字。類名為新定義的類的名稱。⑶extends父類名,說明定義的類是一個(gè)已經(jīng)存在的類的子類。在Java中,通過extends關(guān)鍵字來實(shí)現(xiàn)類之間的繼承。⑷implements接口名列表,說明定義的類將要實(shí)現(xiàn)的接口,接口可以是一個(gè),也可是多個(gè)。⑸類頭定義的格式中,帶方括號(hào)的選項(xiàng)為可選項(xiàng)。用戶定義類時(shí),根據(jù)類的性質(zhì)有目的地進(jìn)行選擇。⒉Java類體的定義
Java的類體是由一對(duì)大括號(hào)括起來的成員方法和成員屬性組成的。第6頁/共20頁85.2類5.2.2類的成員⒈類的成員屬性(類的靜態(tài)屬性)——描述該類的內(nèi)部信息聲明類屬性為簡單變量的格式如下:[修飾符]變量類型變量名[=變量初值];聲明類屬性為對(duì)象的格式如下:[修飾符]類名對(duì)象名[=new類名(實(shí)參表)];例:Strings;Labelimport=newLabel(“請(qǐng)輸入一個(gè)數(shù):”);⒉類的成員方法(成員函數(shù))——類所具有的功能和操作格式:[修飾符]返回值類型方法名稱([參數(shù)表]){//方法體;}第7頁/共20頁95.2類例:classRectangle{ privatedoublelength; privatedoublewidth; voidsetDim(doublew,doublel) { width=w; length=l; } doublearea() { returnlength*width; }}publicclassk05_2{publicstaticvoidmain(String[]args){ r1=newRectangle(); r1.setDim(10.0,20.0); doublea1=r1.area(); System.out.println("長方形的面積為:"+a1);}}第8頁/共20頁105.2類5.2.3類的構(gòu)造方法
創(chuàng)建類的對(duì)象時(shí),利用new關(guān)鍵字和一個(gè)與類同名的方法來完成,這個(gè)方法就是構(gòu)造方法。說明:⑴構(gòu)造方法的名與類名相同。⑵構(gòu)造方法沒有返回值類型。⑶構(gòu)造方法的主要作用是完成對(duì)類對(duì)象的初始化操作。⑷構(gòu)造方法不能由編程人員顯式地直接調(diào)用,在創(chuàng)建一個(gè)類的新對(duì)象的同時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用該類的構(gòu)造方法為新對(duì)象初始化。⑸每一個(gè)類可以有零個(gè)或多個(gè)構(gòu)造方法。當(dāng)一個(gè)類定義多個(gè)構(gòu)造方法時(shí),稱為構(gòu)造方法的重載。
第9頁/共20頁115.2類例:classRectangle{ doublelength; doublewidth;Rectangle(doublew,doublel) { width=w; length=l; } doublearea() { returnlength*width; }}publicclassk05_3{publicstaticvoidmain(String[]args){Rectangler1=newRectangle(20,30),r2=newRectangle(30,40);
doublearea1,area2;area1=r1.area();area2=r2.area(); System.out.println("area1="+area1+",area2="+area2);}}第10頁/共20頁125.2類說明:每個(gè)類在沒有定義構(gòu)造方法時(shí),都有一個(gè)默認(rèn)的構(gòu)造方法。這個(gè)默認(rèn)的構(gòu)造方法沒有形式參數(shù),也沒有任何具體語句,不能完成任何操作,但在創(chuàng)建一個(gè)新對(duì)象時(shí),如果沒有用戶自定義的構(gòu)造方法,則使用此默認(rèn)的構(gòu)造方法對(duì)新對(duì)象進(jìn)行初始化??梢詣?chuàng)建自己的構(gòu)造方法來創(chuàng)建實(shí)例對(duì)象,同時(shí)對(duì)實(shí)例對(duì)象進(jìn)行初始化,即構(gòu)造方法可以帶參數(shù),也可以重載。當(dāng)一個(gè)類有自定義的構(gòu)造方法時(shí),類的默認(rèn)的構(gòu)造方法無效,不能再調(diào)用默認(rèn)構(gòu)造方法來創(chuàng)建對(duì)象,但程序中一定要用到默認(rèn)的構(gòu)造方法來實(shí)例化對(duì)象時(shí),則必須在程序中顯式地定義一下類默認(rèn)的構(gòu)造方法。定義的格式如下:
[修飾符]類名() {}
即沒有形式參數(shù),方法體為一對(duì)空的大括號(hào)。第11頁/共20頁135.3對(duì)象5.3.1對(duì)象與類的關(guān)系類是同種對(duì)象的抽象集合,是創(chuàng)建對(duì)象的模板。類定義了對(duì)象的屬性和行為。對(duì)象是類的一次實(shí)例化的結(jié)果對(duì)象通常有下面幾個(gè)生成過程:⑴對(duì)象的創(chuàng)建。⑵對(duì)象的使用。⑶對(duì)象的清除。第12頁/共20頁145.3對(duì)象5.3.2對(duì)象的創(chuàng)建⒈聲明一個(gè)類的對(duì)象和為對(duì)象分配內(nèi)存空間分開來定義。格式:
classname1c1;c1=newclassname1();⒉聲明一個(gè)類的對(duì)象和分配內(nèi)存空間合為一條語句。格式:classname2c2=newclassname2();⒊同時(shí)聲明一個(gè)類的兩個(gè)對(duì)象,對(duì)其中一個(gè)對(duì)象用new分配內(nèi)存空間,而另一個(gè)則是第一個(gè)對(duì)象的備份。格式:classname3c3;calssname3c4;c3=newclassname3();c4=c3;例5.5第13頁/共20頁155.3對(duì)象5.3.3對(duì)象的引用對(duì)對(duì)象的各個(gè)成員進(jìn)行訪問格式: 對(duì)象名.變量名 對(duì)象名.方法名()例:classComputer{intspeed=133;intcrt=14;voidprintInfomation(){System.out.println(“speedis“+speed);System.out.println(“crt’ssizeis:”+crt);}}Computerc1=newComputer();c1.printInfomation();第14頁/共20頁165.4Java的修飾符5.4.1Java的訪問控制符⒈普通類的訪問控件符屬性與方法的訪問控制符本類中同一包中有繼承關(guān)系不同包private可訪問不可訪問不可訪問不可訪問無(friendly)可訪問可訪問不可訪問不可訪問protected可訪問可訪問可訪問不可訪問public可訪問可訪問可訪問可訪問⒉屬性與方法的訪問控制符普通類的訪問控制符本類中同一包中有繼承關(guān)系不同包無可以實(shí)例化可以實(shí)例化不可以實(shí)例化不可以實(shí)例化public可以實(shí)例化可以實(shí)例化可以實(shí)例化可以實(shí)例化第15頁/共20頁175.4Java的修飾符實(shí)現(xiàn)類的封裝如果外面的程序可以隨意修改一個(gè)類的成員屬性,會(huì)造成不可預(yù)知程序錯(cuò)誤在定義一個(gè)類成員(屬性和方法)時(shí),使用private關(guān)鍵字,說明這個(gè)成員的訪問權(quán)限為了實(shí)現(xiàn)良好的封裝性,通常將類的成員屬性聲明為private,再通過public方法來對(duì)這個(gè)屬性時(shí)行訪問,一般有讀取get,賦值操作set類封裝的優(yōu)點(diǎn)隱藏類的實(shí)現(xiàn)細(xì)節(jié)讓使用只能通過事先定義好的方法來訪問數(shù)據(jù),可以方便地加入控制邏輯,限制對(duì)屬性的不合法操作便于修改,增強(qiáng)代碼的可維護(hù)性第16頁/共20頁185.4Java的修飾符5.4.2Java的非訪問控制符⒈static修飾符—可以修飾屬性,方法說明:⑴用static修飾的成員稱為類成員。⑵類成員是所有實(shí)例對(duì)象共享的。隨類的定義而第一次為類成員分配內(nèi)存。例:chinese第17頁/共20頁195.4Java的修飾符⒉abstract修飾符—抽象修飾符,可以修飾類、方法⑴抽象類—不能創(chuàng)建對(duì)象例5.12
abstractclasspicture{ intp;ength;intpwidth;abstractvoiddrawpictrue();voidclearpicture(){System.Out.println(“clear”)}}⑵抽象方法格式:abstract方法名();說明:①抽象類為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年海南省建筑安全員B證考試題庫
- 2025年安徽建筑安全員-C證考試題庫
- 2025黑龍江省建筑安全員-A證考試題庫及答案
- 《急腹癥診治原則》課件
- 酸堿鹽復(fù)習(xí)課件浙教版
- 《手機(jī)視頻轉(zhuǎn)換》課件
- 單位管理制度展示大全【人員管理】十篇
- 車鉤緩沖器拆裝器行業(yè)深度研究報(bào)告
- 單位管理制度展示匯編【職工管理篇】十篇
- 單位管理制度收錄大全【人力資源管理篇】
- 膝關(guān)節(jié)磁共振成像講義
- 銷售回款專項(xiàng)激勵(lì)政策方案(地產(chǎn)公司)
- 生物系統(tǒng)建模與仿真課件
- 《威尼斯商人》閱讀檢測試題
- 工業(yè)門維修保養(yǎng)合同范本
- 風(fēng)電項(xiàng)目核準(zhǔn)及開工行政審批流程(備案核準(zhǔn)、施工許可)
- 大眾Polo 2016款說明書
- 公共倫理學(xué)案例分析及答案
- 四年級(jí)上冊(cè)數(shù)學(xué)人教版《加乘原理》課件
- 學(xué)生版mbti職業(yè)性格測試題
- 2023年農(nóng)業(yè)綜合行政執(zhí)法理論考試題庫(含答案)
評(píng)論
0/150
提交評(píng)論