湖南网站建设磐石网络答疑室内设计小白怎么入行
news/
2025/9/23 9:46:33/
文章来源:
湖南网站建设磐石网络答疑,室内设计小白怎么入行,搜索引擎优化排名工具,cms自助建站系统模板模式是类的行为模式。准备一个抽象类#xff0c;将部分逻辑以具体方法以及具体构造函数的形式实现#xff0c;然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法#xff0c;从而对剩余的逻辑有不同的实现。这就是模板方法模式…模板模式是类的行为模式。准备一个抽象类将部分逻辑以具体方法以及具体构造函数的形式实现然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。比如定义一个操作中的算法的骨架将步骤延迟到子类中。模板方法使得子类能够不去改变一个算法的结构即可重定义算法的某些特定步骤。模式中的角色抽象类AbstractClass实现了模板方法定义了算法的骨架。具体类ConcreteClass)实现抽象类中的抽象方法已完成完整的算法。经典代码abstract class SortTemplate {public void showSortResult(int[] arr) {sort(arr);for(int x:arr) {System.out.print( x / );}System.out.println();}public abstract void sort(int[] arr);
}class BubbleSort extends SortTemplate {public void sort(int[] arr) {System.out.println(冒泡排序);for(int i0;iarr.length-1;i){for(int j0;jarr.length-1-i;j){if(arr[j]arr[j1]){int temparr[j];arr[j]arr[j1];arr[j1]temp;}}}}
}class SelectSort extends SortTemplate{public void sort(int[] arr){System.out.println(选择排序);for(int i0;iarr.length-1;i){for(int ji1;jarr.length;j){if(arr[i]arr[j]){int temparr[i];arr[i]arr[j];arr[j]temp;}}}}
}class QuickSort extends SortTemplate{public void sort(int[] arr){System.out.println(快速排序);quickSort(arr,0,arr.length-1);}public void quickSort(int[] arr,int left,int right){if(leftright){int ileft,jright,xarr[left];while(ij){while(ijarr[j]x)j--;if(ij){arr[i]arr[j];}while(ijarr[i]x)i;if(ij){arr[j--]arr[i];}}arr[i]x;quickSort(arr,left,i-1);quickSort(arr,i1,right);}}
}class TemplateDemo{public static void main(String[] args) {int[] arr1 {44,44,2,32,54,22,88,77,99,11};int[] arr2 {34,32,6,12,98,34,81,30,1,45};int[] arr3 {73,5,19,40,99,20,12,48,28,64,308,23};SortTemplate st new BubbleSort();st.showSortResult(arr1);st new SelectSort();st.showSortResult(arr2);st new QuickSort();st.showSortResult(arr3);}
} 运行结果冒泡排序 2 / 11 / 22 / 32 / 44 / 44 / 54 / 77 / 88 / 99 / 选择排序 1 / 6 / 12 / 30 / 32 / 34 / 34 / 45 / 81 / 98 / 快速排序 5 / 12 / 19 / 20 / 23 / 28 / 40 / 48 / 64 / 73 / 99 / 308 /
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912098.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!