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

  • 相关阅读:
    155. 最小栈
    160. 相交链表
    PAT 1057 Stack
    PAT 1026 Table Tennis
    PAT 1017 Queueing at Bank
    PAT 1014 Waiting in Line
    PAT 1029 Median
    PAT 1016 Phone Bills
    PAT 1010 Radix
    PAT 1122 Hamiltonian Cycle
  • 原文地址:https://www.cnblogs.com/celine/p/8297647.html
Copyright © 2011-2022 走看看