Adapter的使用

  1. using System;
  2. using System.Text;
  3. namespace NMDuck
  4. {
  5.     public interface ITurkey
  6.     {
  7.         string Gobble();
  8.         string Fly();
  9.     };
  10.     public interface IDuck
  11.     {
  12.         string Quack();
  13.         string Fly();
  14.     };
  15.     public class CWildTurkey:ITurkey
  16.     {
  17.         public CWildTurkey()
  18.         {
  19.         }
  20.         #region ITurkey Members
  21.         public string Gobble()
  22.         {
  23.             return "good gobble";
  24.         }
  25.         public string Fly()
  26.         {
  27.             return "i am flying a short distance";
  28.         }
  29.         #endregion
  30.     }
  31.     public class CTurkeyAdapter:IDuck
  32.     {
  33.         public CTurkeyAdapter(ITurkey objTurkey)
  34.         {
  35.             this.m_objTurkey = objTurkey;
  36.         }
  37.         #region IDuck Members
  38.         public string Quack()
  39.         {
  40.             return this.m_objTurkey.Gobble();
  41.         }
  42.         public string Fly()
  43.         {
  44.             int i = 0;
  45.             StringBuilder strbd = new StringBuilder();
  46.             for (i = 0; i < 5; i++)
  47.             {
  48.                 strbd.Append(this.m_objTurkey.Fly());
  49.                 strbd.Append("/n");
  50.             }
  51.             return strbd.ToString();
  52.         }
  53.         #endregion
  54.         private ITurkey m_objTurkey;
  55.     }
  56.     public class CMallarDuck: IDuck
  57.     {
  58.         public CMallarDuck()
  59.         {
  60.         }
  61.         #region IDuck Members
  62.         public string Quack()
  63.         {
  64.             return "Quack";
  65.         }
  66.         public string Fly()
  67.         {
  68.             return "I am flying";
  69.         }
  70.         #endregion
  71.     }
  72.     public class CDuckAdapter:ITurkey
  73.     {
  74.         public CDuckAdapter(IDuck objDuck)
  75.         {
  76.             this.m_objDuck = objDuck;
  77.         }
  78.         #region ITurkey Members
  79.         public string Gobble()
  80.         {
  81.             return this.m_objDuck.Quack();
  82.         }
  83.         public string Fly()
  84.         {
  85.             return this.m_objDuck.Fly();
  86.         }
  87.         #endregion
  88.         private IDuck m_objDuck;
  89.     }
  90. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值