




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本文格式為Word版,下載可任意編輯Java實(shí)驗(yàn)報(bào)告 實(shí) 驗(yàn) 報(bào) 告 課 課 程 名 稱 Java 技術(shù) 專 專 業(yè) 業(yè) 班 班 級 13 計(jì)算機(jī)科學(xué)與技術(shù)-1 班 班 同學(xué)姓名及學(xué)號 013217 8 潘汀 指 指 導(dǎo) 教 師 鐘華剛 實(shí) 實(shí) 驗(yàn) 驗(yàn) 地 地 點(diǎn) 計(jì)算中心 20 5 5 2021 6 學(xué)年第 一 學(xué)期 試驗(yàn)一 類得封裝、繼承、多態(tài) 一、試驗(yàn)?zāi)康?。復(fù)習(xí)、理解OP 得特征-封裝、繼承與多態(tài)。 。學(xué)會(huì)使用 Jav編寫簡潔得類。理解類得屬性與方法。 3。把握關(guān)鍵字 private, teted, ublic 得作用. 4。把握多態(tài)得概念。 二、試驗(yàn)內(nèi)容 1分別編寫兩個(gè)類oint2D
2、,Pit3D 來表示二維空間與三維空間得點(diǎn),使之滿意下列要求: (1) PonD 有兩個(gè)整型成員變量 x, y (分別為二維空間得 X,Y方向坐標(biāo)),Poit得構(gòu)造方法要實(shí)現(xiàn)對其成員變量, y 得初始化。 (2) Pont2D 有一個(gè) voi型成員方法set(int , int b),它可以實(shí)現(xiàn) Point2得平移。 (3) Poin3D 就是i2得直接子類,它有有三個(gè)整型成員變量x,,z (分別為三維空間得,Y,方向坐標(biāo)),Po3有兩個(gè)構(gòu)造方法:Pot3D(int x,int ,int z)與 Pint3D(2 ,in z),兩者均可實(shí)現(xiàn)對 PontD 得成員變量x, y,z 得初始化。 (
3、4) Point3D 有一個(gè) void 型成員方法 offe(i , nt b,in c),該方法可以實(shí)現(xiàn) Point3得平移。 (5) 在 Pont3中得主函數(shù) main()中實(shí)例化兩個(gè) PonD 得對象p2d,22,打印出它們之間得距離,再實(shí)例化兩個(gè)oint3得對象1,pd2,打印出她們之間得距離。 提示:jv、lng、Mat、sqr()方法 2創(chuàng)建一個(gè)數(shù)組,隨機(jī)生成 PoinD 或者 Poit3D 得對象放于其中。最終依次調(diào)用數(shù)組中每個(gè)對象得"打印方法' ,顯示數(shù)組中存儲得對象就是什么。 提示:aa、lang、Math、ranom()方法 或者 jav、uil、Ran
4、m 類 三、 試驗(yàn)代碼 pa ag ex1; i port java、til、Rndom; c a Point2D int x,y; i(DnioP ,int y)this、xx;t i 、=y; ,a tni(sffo diov nt b) t is、x+=a;t s、y+b; void prin() ysm、 u 、prntf('Po2D:(d,d)n,x,y); cla Point3D ex nds Poit2 in z; i(3tnio t x, i , nt z) per(x, y);thi 、z=z; v id ofst(int a,int b,i t ) his、x+=a
5、;this、y+b;t s、+=c; vo d print() ysem、o t、pinf('Pit3D:(d,d,d)',x,,z); p b ic c ass Mn stati double dtace(ointD a,PoitD b) r urn jva、ang、Math、sqr ((a、xb、)(a、-b、x)+(a、yb、)*(a、yb、y)); stati ouble sanc(PoinD a,PoinD b) t rn a、lang、Mah、s rt (((a、xb、x)*(a、x-b、)+(、y-b、y)*(a、y、y)+(a、-b、z)(、zb、)); pub
6、l c tatic v i main(Strin args) Point2D p21new Poi2(1,1),2dnew on2D(2,2); ointD p3d1ne ointD(,),32=new Pint3(,2,); 、metsy t、pint(%f %n',di a ce(p2d1,p2d),di n e(3d1,pd2); in T=0; PointD arrnew Pont2T; of (int i=0;i+) r、haM、gal、aaj()tni(y tni ndom()2); int x=(in )(ava、lng、Mth、r do ()0), y=( nt)(ja
7、va、lang、Mat、r ndom()100), r、htM、gnal、avj()tni(=z ndom()00); if(yp0) ari=new Pint2D(x,y); e se arri=new Pit3D(x,y,); r(int i0;;i+)rri、prin(); 四 、思索題 .您對面對對象得理解. 答:面對對象最重要得三大特性:封裝、繼承、多態(tài)。圍繞這三個(gè)核心特性, 面對對象程序設(shè)計(jì)方法給軟件工程帶來得全新得程序結(jié)構(gòu)設(shè)計(jì)模式. 面對對象與核心概念就就是理解【類】、與【對象】。 詳細(xì)來講,首先我對【類】一詞得理解如下: 類就就是一組有共性得對象。它描述一個(gè)特定得抽象并供應(yīng)創(chuàng)建
8、對象得模板,假如類不具備某中特性,那么它得對象也不能具備該特性. 類就就是分類,比如人類,就就是關(guān)于人得定義,包括一些屬性與操作這些屬性得動(dòng)作,就是對一個(gè)實(shí)體得抽象得描述。由于就是一個(gè)抽象概念,在使用得時(shí)候必需進(jìn)行實(shí)例化,即將類詳細(xì)為一個(gè)詳細(xì)得實(shí)體。 由類牽扯出【對象】得理解: 對象,就是一個(gè)類得詳細(xì)實(shí)現(xiàn),比如某人 Jck,就就是擁有一個(gè)名字屬性為ack得人類,她可以有其她得屬性,具有人類里得全部方法(可以簡潔得理解為行為與操作屬性得)。 對象需要有狀態(tài),用以描述對象得特征與當(dāng)前得狀態(tài).對象還需要有行為,定義其她對象對該對象所施加得動(dòng)作.行為可能需要依靠于對象得狀態(tài)。在某種情 況下,對象可以有
9、某種行為,而在另外一些狀況下,則不能。每一個(gè)對象都必需被唯一得標(biāo)識(對象得名字不能相同,至少在一個(gè)場景中)。 對象通過協(xié)作,通信來完成一個(gè)比較完整得分工,這些分工整合起來,就就是整個(gè)軟件系統(tǒng). 2.什么就是多態(tài)?Java 中如何實(shí)現(xiàn)多態(tài)? 【概念理解】 多態(tài)就就是說,比較低層次得抽象得實(shí)體可以被支持比較高層次抽象得一些操作得實(shí)體所支持。實(shí)現(xiàn)這些概念需要得工具,或者說描述方式,關(guān)于多態(tài)得描述有一個(gè)比較傳統(tǒng)得例子:一個(gè)比較高層次得抽象,稱為外形,然后從外形繼承而來得有圓,長方形(也可以有由長方形繼承而來正方形),三角形等低層次抽象,有這樣一個(gè)外部實(shí)體,它支持對外形得操作,比如計(jì)算外形得面積(不用考
10、慮怎么計(jì)算,也不用 考慮計(jì)算得外形就是那種),由于它支持得就是外形(比較高層次得抽象),那么不論就是圓,長方形,三角形它就都支持。而詳細(xì)到每個(gè)低層次得抽象得實(shí)際計(jì)算時(shí),各自使用各得意計(jì)算方法,最終返回結(jié)果就可以了. 這樣做得一個(gè)明顯得好處就是,假如以后發(fā)覺新得比較低層次得抽象后,直接加入系統(tǒng)即可,無需考慮上層使用者得修改。在運(yùn)行時(shí),編譯器會(huì)知道需要計(jì)算哪個(gè)。 【Jaa 實(shí)現(xiàn)機(jī)制】 Jva中實(shí)現(xiàn)多態(tài)得機(jī)制靠得就是父類或者接口定義得引用變量可以指向子類或者詳細(xì)得實(shí)現(xiàn)類得實(shí)例對象,而程序調(diào)得方法在運(yùn)行期才動(dòng)態(tài)綁定,就就是引用變量所指向得詳細(xì)實(shí)例對象得方法,也就就是內(nèi)存里正在運(yùn)行得那個(gè)對象得方法,而不
11、就是引用變量得類型中定義得方法. 二 試驗(yàn)二 統(tǒng)系理管銷進(jìn)物貨 貨物進(jìn)銷管理系統(tǒng) 一、試驗(yàn)?zāi)康?1把握 Jaa 中文件得讀寫操作。 2 功得定特成完來)tsiLarr ,oce(類用實(shí)得供提 ava用使會(huì)學(xué)能。 .把握字符串類(Strig, StrngBuffer)得使用。 。4 。題問雜復(fù)決解與析分法方得象對向面用握掌二、試驗(yàn)內(nèi)容 編寫一個(gè) Invenory、jaa 完成以下功能(沒有學(xué)過 Java 文件處理之前,各位同學(xué)可以使用硬編碼將數(shù)據(jù)放進(jìn)兩個(gè)ector 變量里。等學(xué)過va 文件處理之后,再補(bǔ)充數(shù)據(jù)文件讀取部分): 。1 rT 取讀后然,錄記存庫有所得錄記中 tad、yrotnevnI
12、 取讀并開打先首序程nsaions、dt,處理這個(gè)文件中包含得事務(wù),記錄發(fā)貨記錄到hipping、dat,并記錄錯(cuò)誤信息到 Errors、dat 中。最終更新庫存到另外一個(gè)文件NewInventory、at 中. .2 ,錄記貨存?zhèn)€一含包行每得 tad、ronvnIe與ad、yotnevn件文沒條記錄包含下面一些字段息,這些字段之間用一個(gè) t分開(見后面得文件格式): 字段 格式與含義 Ite umber 字符串型,貨物編號 uatity 整型,貨物數(shù)量 uple 字符串型,供應(yīng)商編號 Descrition 貨物描述 3字段 Items 根據(jù)從小到大得挨次寫如文件得。留意 Iem 號不必連續(xù),
13、如Item 號為 752 得后面可能就是 800。 文件ansctins、dat 包含幾個(gè)不同得事務(wù)處理記錄(每行一條記錄)。每條記錄前面以一個(gè)大寫字母開頭,表示這條記錄就是什么類型得事務(wù).在不同得大寫字母后面就是不同得信息格式。全部得字段也就是以 tab 鍵分開得(見ansctn、dat 文件格式)。 。以O(shè)"開頭得事務(wù)表示這就是一個(gè)發(fā)貨,即某一種貨物應(yīng)當(dāng)發(fā)給特定得客戶。Ie號與數(shù)量 Quntity 得格式如上面表格定義。Custo編號與上面得 Suplie編號全都。處理一條定單記錄(以"O"開頭得事務(wù))意味著從削減庫存記錄中相應(yīng)貨物得數(shù)量(削減得數(shù)量發(fā)貨單中得
14、數(shù)量),記錄發(fā)貨信息到hippig、 dat 中。留意:Inventr、dat 中得 quantit不應(yīng)當(dāng)小于 0,假如對于某一種貨物,庫存得數(shù)量小于發(fā)貨單得數(shù)量得話,系統(tǒng)應(yīng)當(dāng)停止處理發(fā)貨單,并記錄出錯(cuò)信息到rros、t。假如對于某一種貨物有多個(gè)發(fā)貨單,而且?guī)齑婵偭啃∮谶@些發(fā)貨單得總與得話,系統(tǒng)應(yīng)當(dāng)根據(jù)發(fā)貨單中得數(shù)量從小到大得有限原則滿意客戶.也就就是說,對于某一種貨物假如一個(gè)數(shù)量 Quantit少得發(fā)貨單沒有處理之前,數(shù)量 Quantty 多得發(fā)貨單永久不會(huì)被處理。(這種處理原則不受發(fā)貨單記錄在 Trnsatons、da得先后挨次影響) 6.以開頭得事務(wù)表示這就是一個(gè)到貨單記錄,在R后面就是
15、e號與它得數(shù)量。處理一條到貨單意味著增加庫存中相應(yīng)貨物得數(shù)量(增加得數(shù)量=到貨單中得數(shù)量)。留意假如在 Tansacions、da文件中,到貨單消失在發(fā)貨單之后,到貨單中得貨物數(shù)量可以用來填補(bǔ)發(fā)貨單中得數(shù)量(可以理解成在 Tnsactins、dt 中,優(yōu)先處理到貨單)。 以A開頭得事務(wù)表示向庫存中增加一種新得貨物(即這種貨物以前庫存中沒有),在后面就是tem 號,供應(yīng)商 supie以及貨物得描述 decrpion。處理一個(gè)新增貨物記錄意味著向庫存中增加一個(gè)數(shù)量 Qunty為 0 得新得 Item.您可以假設(shè)在一個(gè) Trnsation、dt 中,新增貨物記錄總就是消失在第一個(gè)到貨單之前。 以&q
16、uot;D"開頭得事務(wù)表示從庫存中刪除一種貨物,在"D后面就是 Itm 號.刪除操作總就是在全部得事物處理之后才被處理,以保證對于可能消失得同一種貨物得發(fā)貨單得操作能在刪除之前被正確處理。假如要?jiǎng)h除得某種貨物得庫存量 Qanity 不為 0 得話,系統(tǒng)應(yīng)當(dāng)向 Errors、da記錄出錯(cuò)信息。 9文件 Shipig、da中得每一行代表給某一客戶得發(fā)貨信息.Shppin、dat 中得每一行分別就是客戶編號、Item 號、貨物數(shù)量,它們之間用ab 鍵分隔。假如發(fā)貨單中有兩條客戶編號與 Item 編號一樣得記錄,在hipping、dat中應(yīng)當(dāng)將這兩條發(fā)貨信息合并(即將它們得數(shù)量相加
17、)。 10.rors、da文件包含未發(fā)送得發(fā)貨記錄與庫存量大于得刪除記錄。Er、dt 每一行包含 Custom 編號、Item 編號以及發(fā)貨單上得數(shù)量uantiy。對于刪除操作,Custom 編號為,數(shù)量 Qutity 為庫存中得 Quntty、 1。試驗(yàn)測試數(shù)據(jù): 三、 試驗(yàn)代碼 class Ite ;oticse,relppus,rbmn gnirS ;ytnauq tnini,reun gtS(m quanity,Srin slier,Strig desriptin) t i 、r=nume; ;ytitnaq=titnau、siht hi 、supplersupir; his、desc
18、riptn=dscrpto; lass raspre i p e en paator publi int pr(Objet 1, Objet o2) ;1)mtI(=1e et Ite e=(te)2; if(e1、qantity e2、quantity) ret rn 1; e se if(e、quaniy2、qantty) re ur 1; e se retu n ; p bl c class Main pu ta vo d mn(trig arg) throws IOEcption en=ni (Invntory、txt'); =to e (Shpping、tx); n=2tuo
19、 w (rror、xt'); Bfredriter hipinew ufredWriter(ot1); BfrdWrter rrrsnew uferedWir(ou2); Sner cnne canne(in); Sting numbr ull,upplr,descriptio; i t qantity; pStrng,tem manew HsMprg,Itm(); MaStrn,tem trasHah= ew HasMtrig,Ite(); VecorIem tans=new etrIte(),dlnew VectorItm(), recnew VectorItem(),add=ne
20、w VctrIte(); 記錄生成 )(txesah、nacs(elihw ;)(txn、as=rebmun;)(tnIxe、nas=ytitauq ;)(xen、nacreilpps;)(txn、nacs=nipirce ;))noitircse,reippus,ytitnauq,ebmu(metI wen ,rebun(tu、pam Stri type; en=ni ('asacos、x); ;)ni(enacS wenas /數(shù)據(jù)讀入離線存儲 while (an、asNet() ;)(txen、acs = epyt if (type、equls() number = sn、nex
21、t(); ;)(tnIxen、na = ytna ;)(te、nas = ilp ;eilppu+#'rebmun=xeTha nirtS if(!tranash、containsKey(hasTet)) /Hah 發(fā)貨單 tup、haHsnrt (sText, new Item(nmbe,quanity,uppier,'None)); l e ranah、get(hahet)、quanit+=quantiy; lse f (type、equls('R') ;)(txen、ns = remun quaty = cn、netI(); en(dd、cer te(nu
22、mbe,qnti,one',Non'); le if (typ、equals(D')) ;)(txe、nas = bmn (dda、ld e Ite(numbe,,',)); se f (ty、equals(A')) numbr can、next(); supplier scan、ex(); ;)(txen、nacs = noitpircse ;)nitpced,rilppu,0,ren(mI wen(dda、dda / for (ap、EnryString,tem etry : asHas、enrSt() 、yne,ren、)(uVeg、yrtn(me
23、I wen(da、snartgetValue()、qunit,etry、getVlue()、sier,'Noe')); /合并發(fā)貨單寫入 hppin、write(entry、getlu()、nmer + ); 、girtS(etiw、gnipps a ueO (nty、getValue()、quatity) '); ;)relppus、)(eulateg、yrt(ew、npis ;)(eniwen、gnpihs olectons、 r (tran, ne Traspre()); /按發(fā)貨數(shù)量升序排序 加添/ )+i;)(ezi、dai;0=i tni(rof ;)(tg
24、、dda=ei meI ;)meti,rebmun、meti(tup、pam 、metsy t、intf (添加存種:%s 供應(yīng)商:%s 描述: %n,item、numr,ie、suplir,item、criptin); for( t =;irec、ize();i+) 收貨 ;)eun、meti(te、ater,)i(teg、er=meti metI re、qnity=item、quity; ;)ter,rebmun、tr(tp、p Syste、o 、pinf (收貨: 數(shù)量:d 剩余:n',te、nmber,item、qantity,ret、quatty); r( nt i=;itans、sze();i+) /發(fā)貨 Item item=
溫馨提示
- 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)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 游泳救生員初級測試題與答案
- 推拿治療學(xué)測試題+答案
- 業(yè)務(wù)學(xué)習(xí)心得體會(huì)范文
- 醫(yī)美服裝采購合同范本
- 下半年人力資源部工作計(jì)劃
- 三年級數(shù)學(xué)綜合實(shí)踐課教案
- 中藥炮制工中級練習(xí)題(含答案)
- 辦公別墅 出租合同范本
- 建筑信息模型職業(yè)技能理論知識試題庫及參考答案
- 工程地質(zhì)與土力學(xué)練習(xí)題(含答案)
- 項(xiàng)目經(jīng)理個(gè)人先進(jìn)事跡材料(4篇)
- 火龍罐技術(shù)課件
- 怎樣防治魚的中華魚鳋病
- GRR-計(jì)數(shù)型(范例填寫)
- VDA6.3:2023 汽車核心工具自我評估測試題庫真題 (含答案)
- “中藥配送服務(wù)中心”方案
- GRR表格MSA第四版完整版
- 第一講 新媒體藝術(shù)基礎(chǔ)-數(shù)字媒體藝術(shù)導(dǎo)論課件PPT
- 2023年山東電子職業(yè)技術(shù)學(xué)院單招面試模擬試題及答案解析
- 全口義齒修復(fù)有關(guān)的基本知識 全口義齒固位和穩(wěn)定
- 內(nèi)科學(xué)尿路感染(講課)
評論
0/150
提交評論