适配器模式

原理:

把一个类的接口转换成客户端期望的另一种接口,从而使原本因接口不匹配而无法一起工作类能一起工作。适配器类可以根据所传递的参数返回给一个合适的实例给客户端。

     



abstract class Player    //篮球运动员
    {
        protected string name;
        public Player(string name)
        {
            this.name = name;
        }
        public abstract void Attack();
        public abstract void Defense();
    }

    class Forwards : Player   //前锋
    {
        public Forwards(string name) : base(name)
       {
        }
        public override void Attack()
        {
            Console.WriteLine("前锋 {0} 进攻", name);
        }
        public override void Defense()
        {
            Console.WriteLine("前锋 {0} 防守", name);
        }
    }

class ForeignCenter   //外籍中锋
    {
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        public void 进攻()
        {
            Console.WriteLine("外籍中锋 {0} 进攻", name);
        }
        public void 防守()
        {
            Console.WriteLine("外籍中锋 {0} 防守", name);
        }
    }
class Translator : Player   //翻译者
    {
        private ForeignCenter wjzf = new ForeignCenter();

        public Translator(string name) : base(name)
        {
            wjzf.Name = name;
        }

        public override void Attack()
        {
            wjzf.进攻();
        }

        public override void Defense()
        {
            wjzf.防守();
        }
    }
  static void Main(string[] args)
        {
            Player pp = new Forwards("Patrick Patterson");
            pp.Attack();

            Player tw = new Guards("Terrence Williams");
            tw.Attack();

            Player ym = new Translator ("姚明");
            ym.Attack ();

            Console.Read();
        }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值