資源描述:
《適配器模式組合模式.doc》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、10.適配器模式現(xiàn)有一個接口DataOperation定義了排序方法sort(int[])和查找方法search(int[],int),已知類QuickSort的quickSort(int[])方法實現(xiàn)了快速排序算法,類BinarySearch的binarySearch(int[],int)方法實現(xiàn)了二分查找算法?,F(xiàn)使用適配器模式設計一個系統(tǒng),在不修改源代碼的情況下將類QuickSort和類BinarySearch的方法適配到DataOperation接口中。繪制類圖并編程實現(xiàn)。(要求實現(xiàn)快速排序
2、和二分查找)interfaceDataOperation{---;---;}classQuickSort{publicint[]quickSort(int[]num){returnsort(num,0,num.length-1);}privateint[]sort(int[]num,intleft,intright){if(left3、大的數(shù)while(i+1-1&&num[--j]>s);//此時如果i>=j,則說明已交叉,跳出該永久循環(huán)if(i>=j){break;}//否則如果i<=j,則交換下標為i和下標為j的兩元素的值swap(num,i,j);}//把比S小的數(shù)放到下標為left處num[left]=num[j];//最后將軸S置于比它小和比它大的兩組數(shù)之間num[j]=s;//對S的左右兩側分別再次使用快速排序s
4、ort(num,left,j-1);sort(num,j+1,right);}returnnum;}privatevoidswap(int[]num,inti,intj){intt;t=num[i];num[i]=num[j];num[j]=t;}}classBinarySearch{publicintbinarySearch(int[]num,intx){intlow=0;inthigh=num.length-1;while(low<=high){//此時拋出ArrayIndexOutOfBou
5、ndsException異常..intmid=low+(high-low)/2;intmidVal=num[mid];if(x>midVal){low=mid+1;}elseif(x6、ch(int[]list,intnumber){return---;}@Overridepublicvoidsort(int[]list){---;}}classDataOperationClient{publicstaticvoidmain(Stringa[]){---;//適配器DataOperationAdapterint[]list={1,3,56,23,54,86,43,57,88,56,82,90};System.out.println("Listbeforesort:");for(i
7、nti=0;i8、結果:12.組合模式使用組合模式設計一個殺毒軟件(AntiVirus)的框架,該軟件既可以對某個文件夾(Folder)殺毒,也可以對某個指定的文件(File)進行殺毒,文件種類包括文本文件TextFile、圖片文件ImageFile、音頻視頻文件MediaFile。繪制類圖并編程實現(xiàn)。importjava.util.ArrayList;interfaceAbstractElement{----;}classImageFileimplementsAbstractElement{---