zoukankan      html  css  js  c++  java
  • 创建型模式之简单工厂模式

    /Base class for geting split names
            public class Namer()
            {
                   protected string frName,lName;
                    public string getFrname()
                  {
                      return frName;
                   }
                   public string getLname()
                   {
                             return lName;
                   }

            }
             public class  FirstFirst:Namer
              {
                   public  FirstFirst(string name)
                   {
                        int i=name.IndexOf(" ");
                        if(i>0)
                        {
                               lName=name.Substring(0,i).Trim();  
                                   frName=name.Substring(i+1).Trim();
          
                         }else{
                             lName=name;
                             frName="";
                         }
                   }
               public class  LastFirst:Namer
              {
                   public  LastFirst(string name)
                   {
                        int i=name.IndexOf(",");
                        if(i>0)
                        {
                               lName=name.Substring(0,i).Trim();
                                frName=name.Substring(i+1).Trim();
                         }else{
                                   lName=name;
                             frName="";
                          }
                   }
              }
              public class Namefactory()
              {
                   public Namefactory(){}
                   public Namer getName(string name)
                   int i=name.IndexOf(",");
                   if(i>0)
                   {
                         return new LastFirst(name);
                   }else
                   {
                        return new FirstFirst(name);
                   }
              }
              private void btnCompute_Click(object sender,System.Event.args e)
              {
                   Namer nm=nameFact.getName(txtName.Text);
                   txtFirst.Text = nm.getFrname();
                   txtLast.Text = nm.getLname();
              }

  • 相关阅读:
    LOJ 6192 城市网络(树上倍增)
    SDOI2010代码拍卖会 (计数类DP)
    失控的未来交通工具 (LOJ 508,带权并查集,数论)
    线段树维护区间前k小
    POJ 1966 Cable TV Network (最大流最小割)
    网络流学习笔记
    最大子矩阵和
    POJ 1723 Soldiers (中位数)
    最大子矩阵求法详解
    CH0805 防线 (二分值域,前缀和,特殊性质)
  • 原文地址:https://www.cnblogs.com/jameshappy/p/1374368.html
Copyright © 2011-2022 走看看