C#适配器模式代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 适配器
{
    class Program
    {
        static void Main(string[] args)
        {
            Dog dog = new DogAdapter(new Robot());
        }
        public abstract class Dog
        {
            public abstract void barking();
            public abstract void running();
        }
        public class CommonDog : Dog
        {
            public override void barking()
            {
                Console.WriteLine("狗叫");
            }
            public override void running()
            {
                Console.WriteLine("狗跑");
            }
        }
        public class DogAdapter : Dog
        {
            public DogAdapter(Robot robot)
            {
                robot.move();
                robot.barking();
            }
            private Robot robot;
            public Robot Robot
            {
                get { return robot; }
                set { robot = value; }
            }
            public override void running()
           {
                robot.barking();
            }
           public override void barking()
            {
                robot.move();
            }
        }
        public class Robot
        {
            public void barking()
            {
                Console.WriteLine("执行机器人叫的方法!");
            }
            public void move()
            {
                Console.WriteLine("执行机器人移动的方法!");
            }
        }
    }
}

 

posted on 2013-05-31 09:41  程序猴chengxuhou.com  阅读(415)  评论(0编辑  收藏  举报

导航