zoukankan      html  css  js  c++  java
  • 工厂模式

     1 package com.jdk7.chapter2.factory;
     2 
     3 public class Factory {
     4     //定义具体的类型,该类型只属于该类
     5     public static final String SELECTTION_SORT = "SelectSort";
     6     public static final String BUBBLE_SORT = "bubbleSort";
     7     public static final String LINEARINSERT_SORT = "linearInsertSort";
     8     public static final String QUICK_SORT = "quickSort";
     9     
    10     //因为这里调用了静态常量SELECTTION_SORT等,所以该方法要为静态的
    11     public static SortNumber getSortNumber(String id){
    12         if(id.equalsIgnoreCase(SELECTTION_SORT)){
    13             return new SelectSort();
    14         }else if(id.equalsIgnoreCase(BUBBLE_SORT)){
    15             return new BubbleSort();
    16         }else if(id.equalsIgnoreCase(LINEARINSERT_SORT)){
    17             return new LinearInsertSort();
    18         }else if(id.equalsIgnoreCase(QUICK_SORT)){
    19             return new QuickSort();
    20         }else{
    21             System.out.println("factory中无该类型");
    22             return null;
    23         }
    24     }
    25 }
     1 package com.jdk7.chapter2.factory;
     2 
     3 public class FactoryTest {
     4     public static void printIntArray(int[] array){
     5         if(array==null){
     6             return;
     7         }else{
     8             for(int i=0;i<array.length;i++){
     9                 System.out.print(array[i]+" ");
    10             }
    11         }
    12         System.out.println();
    13     }
    14     
    15     public static void main(String[] args) {
    16         int[] array = new int[] {5,8,7,6,1,4,3,2};
    17         
    18         System.out.println("===============SELECTTION_SORT===============");
    19         int[] a = Factory.getSortNumber(Factory.SELECTTION_SORT).sortASCNumber(array);
    20         printIntArray(a);
    21         
    22         System.out.println("===============BUBBLE_SORT===============");
    23         int[] b = Factory.getSortNumber(Factory.BUBBLE_SORT).sortASCNumber(array);
    24         printIntArray(b);
    25         
    26         System.out.println("===============LINEARINSERT_SORT===============");
    27         int[] c = Factory.getSortNumber(Factory.LINEARINSERT_SORT).sortASCNumber(array);
    28         printIntArray(c);
    29         
    30         System.out.println("===============QUICK_SORT===============");
    31         int[] d = Factory.getSortNumber(Factory.QUICK_SORT).sortASCNumber(array);
    32         printIntArray(d);
    33     }
    34 }
    35 
    36 执行结果:
    37 ===============SELECTTION_SORT===============
    38 1 2 3 4 5 6 7 8 
    39 ===============BUBBLE_SORT===============
    40 1 2 3 4 5 6 7 8 
    41 ===============LINEARINSERT_SORT===============
    42 1 2 3 4 5 6 7 8 
    43 ===============QUICK_SORT===============
    44 1 2 3 4 5 6 7 8 

    其余类代码详见:http://www.cnblogs.com/celine/p/8290254.html

  • 相关阅读:
    uwsgi
    Angular.js中处理页面闪烁的方法详解
    Mongo db change datadir
    day 007作业
    day 007总结
    day 006作业
    day006 总结
    day 005作业
    day 005总结
    day 004作业
  • 原文地址:https://www.cnblogs.com/celine/p/8297647.html
Copyright © 2011-2022 走看看