<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      抽象類中定義靜態(tài)方法

             一直認(rèn)為抽象類不能實例化,所以就沒有想過用直接調(diào)用方法,而是實例化它的子類,用子類調(diào)用方法,
       沒想到啊,在抽象類中定義static方法不就可以了嗎,static方法屬于類,不需要實例化。

      using System;
      using System.Reflection;

      namespace AbstractFactory
      {
       /// <summary>
       /// Factory類
       /// </summary>
       public abstract class AbstractFactory
       {
       
        public static AbstractFactory GetInstance()
        {
         string factoryName = Constant.STR_FACTORYNAME.ToString();

         AbstractFactory instance;

         if(factoryName != "")

                      //AbstractFactory表示程序集的名稱 ;factoryName表示要加載的類
                      instance = (AbstractFactory)Assembly.Load("AbstractFactory").CreateInstance(factoryName);
         else
          instance = null;

         return instance;
        }


        public abstract Tax CreateTax();

        public abstract Bonus CreateBonus();
       }
      }


      using System;

      namespace AbstractFactory
      {
       /// <summary>
       /// 客戶端程序調(diào)用
       /// </summary>
       public class Calculator
       {
        public static void Main(string[] args)
        {
                  //GetInstance不是static方法
                  //AbstractFactory abstractFactory = new ChineseFactory().GetInstance();
                  //double bonusValue = abstractFactory.CreateBonus().Calculate();
                  //double taxValue = abstractFactory.CreateTax().Calculate();

                  //GetInstance是static方法
                  double bonusValue = AbstractFactory.GetInstance().CreateBonus().Calculate();
                  double taxValue = AbstractFactory.GetInstance().CreateTax().Calculate();
                  double salary = 4000 + bonusValue - taxValue;
                  Console.WriteLine("Salary is:" + salary);
                  Console.ReadLine();

               
        }
       }
      }

      using System;

      namespace AbstractFactory
      {
       /// <summary>
       /// ChineseFactory類
       /// </summary>
       public class ChineseFactory:AbstractFactory
       {
        public override Tax CreateTax()
        {
         return new ChineseTax();
        }

        public override Bonus CreateBonus()
        {
         return new ChineseBonus();
        }
       }
      }

      using System;

      namespace AbstractFactory
      {
       /// <summary>
       /// AmericanFactory類
       /// </summary>
       public class AmericanFactory:AbstractFactory
       {
        public override Tax CreateTax()
        {
         return new AmericanTax();
        }

        public override Bonus CreateBonus()
        {
                  return new AmericanBonus();
        }
       }
      }

      using System;

      namespace AbstractFactory
      {
       /// <summary>
       /// 計算中國個人獎金
       /// </summary>
       public class ChineseBonus:Bonus
       {
        public override double Calculate()
        {
         return Constant.BASE_SALARY * 0.1;
        }
       }
      }

      using System;

      namespace AbstractFactory
      {
       /// <summary>
       /// 計算美國獎金
       /// </summary>
       public class AmericanBonus:Bonus
       {
        public override double Calculate()
        {
         return Constant.BASE_SALARY * 0.1;
        }
       }
      }

      using System;

      namespace AbstractFactory
      {
       /// <summary>
       /// 計算美國個人所得稅
       /// </summary>
       public class AmericanTax:Tax
       {
        public override double Calculate()
        {
         return (Constant.BASE_SALARY + (Constant.BASE_SALARY * 0.1)) * 0.4;
        }
       }
      }

      using System;

      namespace AbstractFactory

       /// <summary>
       /// 計算中國個人所得稅
       /// </summary>
       public class ChineseTax:Tax
       {
        public override double Calculate()
        {
         return (Constant.BASE_SALARY + (Constant.BASE_SALARY * 0.1)) * 0.4;
        }
       }
      }

      using System;
      using System.Configuration;

      namespace AbstractFactory
      {
       /// <summary>
       /// 公用的常量
       /// </summary>
       public class Constant
       {
        public static double BASE_SALARY = 4000;

        public static string STR_FACTORYNAME = ConfigurationSettings.AppSettings["factoryName"];
       }
      }

      using System;

      namespace AbstractFactory
      {
       /// <summary>
       /// 個人所得稅抽象類
       /// </summary>
       public abstract class Tax
       {
        public abstract double Calculate();
       }
      }

      using System;

      namespace AbstractFactory
      {
       /// <summary>
       /// 獎金抽象類
       /// </summary>
       public abstract class Bonus
       {
        public abstract double Calculate();
       }
      }

      <?xml version="1.0" encoding="utf-8" ?>
      <configuration>
       <appSettings>
        <add key="factoryName" value="AbstractFactory.ChineseFactory"></add>
       </appSettings>
       
      </configuration>

      posted @ 2010-09-08 15:32  古文觀芷  閱讀(11279)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲日韩久久综合中文字幕| 国产亚洲999精品aa片在线爽| 国产影片AV级毛片特别刺激| 成人欧美日韩一区二区三区| 精品精品亚洲高清a毛片| 精品九九热在线免费视频| 精品人妻人人做人人爽| 国产av无码专区亚洲草草| 国内精品免费久久久久电影院97| 在线观看国产精品日韩av| 日韩大片看一区二区三区| 亚洲va久久久噜噜噜久久狠狠 | 大地资源免费视频观看| 偷偷色噜狠狠狠狠的777米奇| 国产综合一区二区三区麻豆| 草草浮力影院| 欧美日韩精品一区二区三区在线| 国产精品一区二区三区性色| 麻豆精品一区二区综合av| 97久久超碰国产精品2021| 伊伊人成亚洲综合人网香| 国产精品午夜av福利| 国产精成人品| 亚洲av综合色区在线观看 | 国产老熟女国语免费视频| 久久月本道色综合久久| 亚洲人黑人一区二区三区| 国内精品久久黄色三级乱| 一区二区三区精品不卡| 国产大尺度一区二区视频| 成人免费无遮挡无码黄漫视频| 国内少妇偷人精品免费| 国产精品女同性一区二区| 亚洲人成电影在线天堂色| 亚洲老熟女一区二区三区| 精品自拍偷拍一区二区三区 | 国产超碰无码最新上传| 平度市| 又污又黄又无遮挡的网站| 国产影片AV级毛片特别刺激| 昌宁县|