版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、PAGE PAGE 18 實驗報告課程: 設計模式實驗 學期: 2010-2011學年 第一學期 任課教師: 專業(yè): 學號: 姓名: 成績: 實驗4 抽象工工廠模式式1.題目: 使使用抽象象工廠模模式實現現一個DDIY電電腦店,其其中的電電腦配置置有三個個種類:學生版版、家庭庭裝、豪豪華版。2.模式設設計的UUML類類圖:3.程序源源代碼:(1)計算算機配置置工廠接接口CoompuuterrConnfigguraatioonFaactoory.javva:publiic intterffacee CommputterCConffiguurattionnFacctorrypubllic Cpuu
2、 crreatteCppu();publlic Ramm crreatteRaam();publlic Maiinbooardd crreatteMaainbboarrd();publlic Harrddiisk creeateeHarrddiisk();publlic Dissplaay ccreaateDDispplayy();(2)計算算機配置置工廠接接口的各各個子類類:publiic claass StuudenntCoompuuterrConnfigguraatioonFaactoory impplemmentts CCompputeerCoonfiigurratiionFFactt
3、oryypubllic Cpuu crreatteCppu() retturnn neww SttudeentCCpu(); publlic Ramm crreatteRaam() retturnn neww SttudeentRRam(); publlic Maiinbooardd crreatteMaainbboarrd() rretuurn neww SttudeentMMainnboaard(); publlic Harrddiisk creeateeHarrddiisk() rretuurn neww SttudeentHHardddissk(); publlic Dissplaay
4、 ccreaateDDispplayy() rretuurn neww SttudeentDDispplayy(); publiic claass HommeCoompuuterrConnfigguraatioonFaactoory impplemmentts CCompputeerCoonfiigurratiionFFacttoryypubllic Cpuu crreatteCppu() retturnn neww HoomeCCpu(); publlic Ramm crreatteRaam() retturnn neww HoomeRRam(); publlic Maiinbooardd
5、crreatteMaainbboarrd() retturnn neww HoomeMMainnboaard(); publlic Harrddiisk creeateeHarrddiisk() retturnn neww HoomeHHardddissk(); publlic Dissplaay ccreaateDDispplayy() rretuurn neww HoomeDDispplayy(); publiic claass DelluxeeCommputterCConffiguurattionnFacctorry iimpllemeentss CoompuuterrConnfiggu
6、raatioonFaactoorypubllic Cpuu crreatteCppu() retturnn neww DeeluxxeCppu(); publlic Ramm crreatteRaam() retturnn neww DeeluxxeRaam(); publlic Maiinbooardd crreatteMaainbboarrd() retturnn neww DeeluxxeMaainbboarrd(); publlic Harrddiisk creeateeHarrddiisk() retturnn neww DeeluxxeHaardddiskk(); publlic
7、Dissplaay ccreaateDDispplayy() retturnn neww DeeluxxeDiispllay(); (3)電腦腦各種配置置的接口口:publiic intterffacee Cppu publlic Strringg tooStrringg();publiic intterffacee Raam publlic Strringg tooStrringg();publiic intterffacee Maainbboarrd publlic Strringg tooStrringg();publiic intterffacee Haardddiskk publli
8、c Strringg tooStrringg();publiic intterffacee Diispllay publlic Strringg tooStrringg();(4)電腦腦配置CCpu接接口的各各個子類類:publiic claass StuudenntCppu iimpllemeentss Cppupubllic Strringg tooStrringg() rretuurn Inntell 奔騰騰雙核 E54400(盒); publiic claass HommeCppu iimpllemeentss Cppupubllic Strringg tooStrringg() re
9、tturnn Inntell 酷睿睿i5 6500(盒); publiic claass DelluxeeCpuu immpleemennts Cpuupubllic Strringg tooStrringg() retturnn Inntell 酷睿睿i7 9800X(至至尊版); (5)電腦腦配置RRam接接口的各各個子類類:publiic claass StuudenntRaam iimpllemeentss Raampubllic Strringg tooStrringg() retturnn 宇瞻瞻2GBB DDDR3 13333(經經典系列列); publiic claass Ho
10、mmeRaam iimpllemeentss Raampubllic Sttrinng ttoSttrinng() retturnn 金士士頓4GGB DDDR33 13333(駭客神神條套裝裝); publiic claass DelluxeeRamm immpleemennts Rammpubllic Strringg tooStrringg() retturnn 海盜盜船TWW3X44G20000CC9DFF; (6)電腦腦配置MMainnboaard接接口的各各個子類類:publiic claass StuudenntMaainbboarrd iimpllemeentss Maainb
11、boarrdpubllic Strringg tooStrringg() retturnn 銘瑄瑄 MSS-M33A8990G; publiic claass HommeMaainbboarrd iimpllemeentss Maainbboarrdpubllic Strringg tooStrringg() reeturrn 技嘉嘉GA-8700A-UUD3; publiic claass DelluxeeMaiinbooardd immpleemennts Maiinbooarddpubllic Strringg tooStrringg() retturnn 華碩碩Rammpagge II
12、II Exttremme; (7)電腦腦配置HHardddissk接口口的各個個子類:publiic claass StuudenntHaardddiskk immpleemennts Harrddiiskpubllic Strringg tooStrringg() retturnn 希捷捷2500GB 72000.112 88M; publiic claass HommeHaardddiskk immpleemennts Harrddiiskpubllic Strringg tooStrringg() retturnn 三星星5000GB 72000轉 16MM(串/金寶); publiic
13、 claass DelluxeeHarrddiisk impplemmentts HHardddisskpubllic Strringg tooStrringg() retturnn 希捷捷Cheeetaah 115K.7 6600GGB; (8)電腦腦配置DDispplayy接口的的各個子子類:publiic claass StuudenntDiispllay impplemmentts DDispplayypubllic Strringg tooStrringg() retturnn 飛利利浦1993E11SB; publiic claass HommeDiispllay impplemm
14、entts DDispplayypubllic Strringg tooStrringg() reeturrn 三星星P24450HH; publiic claass DelluxeeDissplaay iimpllemeentss Diispllaypubllic Strringg tooStrringg() retturnn 戴爾爾UlttraSSharrp 224088WFPP; (9)抽象象產品計計算機類類Commputter.javva:publiic absstraact claass Commputter Striing namme;Cpu cpuu;Ram ramm;Mainn
15、boaard maiinbooardd;Hardddissk hhardddissk;Dispplayy diispllay;publlic absstraact voiid pprepparee();publlic voiid ssetNNamee(Sttrinng nnamee) thiis.namme=nnamee; publlic Strringg geetNaame() retturnn namme; ppubllic Strringg geetCppu() retturnn cpuu.tooStrringg(); ppubllic Strringg geetRaam() rettu
16、rnn ramm.tooStrringg(); ppubllic Strringg geetMaainbboarrd() retturnn maiinbooardd.tooStrringg(); ppubllic Strringg geetHaardddiskk() retturnn harrddiisk.toSStriing(); ppubllic Strringg geetDiispllay() retturnn dissplaay.ttoSttrinng(); (10)抽抽象產品品計算機機類的子子類PreeparreCoompuuterr.jaava:publiic claass Pre
17、eparreCoompuuterr exxtennds CommputterCompputeerCoonfiigurratiionFFacttoryy CoonfiigurratiionFFacttoryy;publlic PreeparreCoompuuterr(CoompuuterrConnfigguraatioonFaactoory ConfiigurratiionFFacttoryy)thiis.ConnfigguraatioonFaactoory = CConffiguurattionnFacctorry;publlic voiid pprepparee()cpuu = Connfi
18、gguraatioonFaactoory.creeateeCpuu();ramm = ConnfigguraatioonFaactoory.creeateeRamm();maiinbooardd = ConnfigguraatioonFaactoory.creeateeMaiinbooardd();harrddiisk = CConffiguurattionnFacctorry.ccreaateHHardddissk();dissplaay = CoonfiigurratiionFFacttoryy.crreatteDiispllay();(11)抽抽象計算算機店類類CommputterSSt
19、orre.jjavaa:publiic absstraact claass CommputterSStorre prottectted absstraact Commputter creeateerCoompuuterr(Sttrinng iitemm);publlic Commputter ordderCCompputeer(SStriing typpe)Commputter commputter = ccreaaterrCommputter(typpe);commputter.preeparre();retturnn coompuuterr;(12)抽抽象計算算機店類類的子類類DIYYCo
20、mmputterSStorre.jjavaa:publiic claass DIYYCommputterSStorre eexteendss CoompuuterrStooreprottectted Commputter creeateerCoompuuterr(Sttrinng iitemm)Commputter commputter = nnulll;CommputterCConffiguurattionnFacctorry sstuddenttConnfigguraatioonFaactoory = new StuudenntCoompuuterrConnfigguraatioonFaa
21、ctoory();CommputterCConffiguurattionnFacctorry hhomeeConnfigguraatioonFaactoory = new HHomeeCommputterCConffiguurattionnFacctorry();CommputterCConffiguurattionnFacctorry ddeluuxeCConffiguurattionnFacctorry = new DDeluuxeCCompputeerCoonfiigurratiionFFacttoryy();if(iteem.eequaals(學生生版)coompuuterr = ne
22、ww PrepaareCCompputeer(sstuddenttConnfigguraatioonFaactoory);coompuuterr.seetNaame(學生生版);elsse if(iitemm.eqqualls(家庭裝裝)coompuuterr = neww PrrepaareCCompputeer(hhomeeConnfigguraatioonFaactoory);coompuuterr.seetNaame(家庭庭裝);elsse if(iitemm.eqqualls(豪華版版)coompuuterr = neww PrepaareCCompputeer(ddeluuxeCC
23、onffiguurattionnFacctorry);coompuuterr.seetNaame(豪華華版);retturnn coompuuterr;(13)實實現用戶戶界面的的主類DDIYSStorre.jjavaa:(由由于代碼碼過長,只只列出主主要部分分)publiic claass DIYYStoore exttendds jjavaax.sswinng.JJFraame ppubllic DIYYStoore() supper(XXXXXX); iniitCoompoonennts(); pprivvatee voiid iinittCommponnentts() jPPaneel
24、1.settBorrderr(jaavaxx.swwingg.BoordeerFaactoory.creeateeTittleddBorrderr(種類類); butttonnGrooup11.addd(jjRaddioBButtton11); jRaadiooButttonn1.ssetTTextt(學學生版); butttonnGrooup11.addd(jjRaddioBButtton22); jRaadiooButttonn2.ssetTTextt(家家庭裝); butttonnGrooup11.addd(jjRaddioBButtton33); jRaadiooButttonn3.s
25、setTTextt(豪豪華版); jPaanell2.ssetBBordder(javvax.swiing.BorrderrFacctorry.ccreaateTTitlledBBordder(配置置); jLaabell1.ssetTTextt(CPUU:);jLLabeel2.settTexxt(內存:); jLaabell3.ssetTTextt(主板:);jLaabell4.ssetTTextt(硬盤:); jLaabell5.ssetTTextt(顯顯示器:);jTeextFFielld1.settTexxt(); jTeextFFielld2.settTexxt();jTeextF
26、Fielld3.settTexxt(); jTeextFFielld4.settTexxt(); jTTexttFieeld55.seetTeext(); jBuuttoon1.settTexxt(退出);jBButtton22.seetTeext(清空空); jBuuttoon3.settTexxt(確定); privaate voiid jjButttonn1AcctioonPeerfoormeed(jjavaa.awwt.eevennt.AActiionEEvennt eevt) Syysteem.eexitt(0); pprivvatee voiid jjButttonn2Acctio
27、onPeerfoormeed(jjavaa.awwt.eevennt.AActiionEEvennt eevt) butttonnGrooup11.cllearrSellecttionn(); jTeextFFielld1.settTexxt();jTeextFFielld2.settTexxt(); jTeextFFielld3.settTexxt();jTeextFFielld4.settTexxt(); jTeextFFielld5.settTexxt(); pprivvatee voiid jjButttonn3AcctioonPeerfoormeed(jjavaa.awwt.eevennt.AActiionEEvennt eevt) Sttrinng coonfiigurratiion = ggetCConffiguurattionn(); jTTexttFieeld11.seetTeext(connfigguraatioon00); jTTexttFieeld22.seetTeext(connfigguraatioon11); jTTexttFieeld33.seetTeext(connfigguraatioon22); jTTexttFieeld44.seetTeext(connfigguraatioon33); jTTexttFieeld55.seetTeex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年短期個人信用貸款協(xié)議6篇
- 2024年簡化版電子設備購銷協(xié)議例文版B版
- 獲得公司員工獎發(fā)言稿
- 2022天津南開區(qū)高考英語完形填空和閱理選練及參考答案8
- 隨州2024年湖北隨州市隨縣引進急需緊缺高層次人才17人筆試歷年典型考點(頻考版試卷)附帶答案詳解版
- 充分條件和必要條件的記憶口訣
- GB13457-92肉類加工工業(yè)水污染物排放標準
- 通信學習通信線路設計
- 鐵礦資源的持續(xù)利用與保護考核試卷
- 零售業(yè)新零售模式下的顧客關系管理考核試卷
- 《人員素質測評理論與方法》電子版本
- 61850基礎技術介紹0001
- 陶瓷色料的技術PPT課件
- 幼兒園食品安全工作計劃四篇
- 課程設計YA32-350型四柱萬能液壓機液壓系統(tǒng)設計
- (精心整理)系動詞練習題
- 體彩排列五歷史數據
- 中國工業(yè)數據庫介紹
- 弱電智能化設計服務建議書(共35頁)
- 中國銀監(jiān)會關于規(guī)范中長期貸款還款方式的通知
- 通信工程外文文獻(共12頁)
評論
0/150
提交評論