结构化编程与面向对象编程案例.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:10 大小:63KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

结构化编程与面向对象编程案例.doc

结构化编程与面向对象编程案例.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

*******音乐播放器*******定义一个歌曲清单,程序进行顺序播放,歌曲清单中可以包含不同格式的文件(如MP3,WAV)voidmain(){String[]songs=newString[MAX];//定义一个字符串数组,存放音频文件名songs[0]=newString(“c:\彩虹.wav”);songs[1]=newString(“d:\天路.mp3”);songs[2]=newString(“c:\铃儿响叮当.wav”);……playMusic(songs);}voidplayMusic(String[]list){fot(inti=0;i<MAX&&list[i]!=“”;i++)//按顺序播放{StringaudioType=getFileType(list[i]);if(audioType==“WAV”)wavPlay(list[i]);elsemp3Play(list[i]);}}StringgetFileType(StringfileName){……}voidwavPlay(StringfileName){intlen=getDuration(fileName);……}voidmp3Play(StringfileName){intlen=getDuration(fileName);……}使用面向对象方法改造后:abstractclassSong{protectedstringtitle;//音乐名称protectedintduration;//音乐时长Song(stringt){title=t;}abstractvoidplay();}publicclassMp3extendsSong{Mp3(stringt){super(t);duration=……}voidplay(){…….}}publicclassWavextendsSong{Wav(stringt){super(t);duration=……}voidplay(){…….}}publicclassPlayList{privateVectorSongs;//节目集合publicPlayList(){Songs=newVector();}publicvoidadd(Songt)//添加节目{Songs.addElement(t);}publicvoidplayAll()//播放全部的节目{Enumerationenum=Songs.elements();while(enum.hasMoreElements())((Song)enum.nextElement()).play();}}publicstaticvoidmain(string[]args){PlayListlist=newPlayList();list.add(newMp3(“c:\彩虹.mp3”));list.add(newMp3(“d:\天路.wav”));list.add(newWav(“c:\铃儿响叮当.wav”));list.playAll();}********借书程序********结构化的借书程序:voidlendBook(stringbookID,stringreaderID){boolborrowFlag=isBorrowed(readerID,bookID);//查读者是否已借该书intborrowedNum=getBorrowedAmount(readerID);//查询读者借书数量if(borrowFlag)messageBox.show("你已经借阅了此书");//提示已借此书elseif(borrowedNum>=5)messageBox.show("您已经借满了5本书");//提示读者借书已达限额else{intamount=getStockAmount(bookID);//查询某本书的在架数量if(amount>0)//有库存{updateStock(bookID,amount-1);//某书的在架数量减1saveLoan(bookID,readerID);//保存借书记录}elsemessageBox.show("该书已全部借出");}}面向对象的借书程序:ClassBook{}ClassReader{}ClassLoan{}voidlendBook(stringbookID,stringreaderID){Bookb1=newBook(bookID);Read