zoukankan      html  css  js  c++  java
  • C#装饰模式

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace 装饰模式
    {
        class Person
        {
            public Person()
            {
            }

            private string name;
            public Person(string name)
            {
                this.name = name;
            }

            public virtual void Show()
            {
                Console.WriteLine("装扮的{0}", name);
            }
        }

        class Finery : Person
        {
            protected Person component;

            //打扮
            public void Decorate(Person component)
            {
                this.component = component;
            }

            public override void Show()
            {
                if (component != null)
                {
                    component.Show();
                }
            }
        }

        class TShirts : Finery
        {
            public override void Show()
            {
                Console.Write("大T-Shirt ");
                base.Show();
            }
        }

        class BigTrouser : Finery
        {
            public override void Show()
            {
                Console.Write("垮裤 ");
                base.Show();
            }
        }

        class Sneakers: Finery
        {
            public override void Show()
            {
                Console.Write("破球鞋 ");
                base.Show();
            }
        }

        class Program
        {
            static void Main(string[] args)
            {
                Person ps = new Person("小江");

                Sneakers sn = new Sneakers();
                BigTrouser bt = new BigTrouser();
                TShirts ts = new TShirts();

                sn.Decorate(ps);
                bt.Decorate(sn);
                ts.Decorate(bt);

                ts.Show();
            }
        }
    }

    明确个目标,一直走下去
  • 相关阅读:
    python基础集结号
    3,jieba gensim 最好别分家之最简单的相似度实现
    2,PyAudio 实现录音 自动化交互实现问答
    1,百度云接口
    16,Flask-Migrate
    移动端web开发 尽量哪些标签 常用标签及注意事项
    flex布局
    -webkit-box
    网页图片jpg,gif,png对比。
    原生判断是否存在某个类,手机端事件,手机端测试
  • 原文地址:https://www.cnblogs.com/fhlj/p/3613684.html
Copyright © 2011-2022 走看看