zoukankan      html  css  js  c++  java
  • 我的设计模型之装饰者模式

    今天听了webcast的C#设计模型 感觉更好了,因为之前看过《小菜与大鸟不得不说的事》今天温习一下感觉装饰者模式真的很爽啊好了 废话少说 放代码

    Code

    此为抽象类,是抽象的哦。

       class T50:Tank
        {
            
    public override void Shot()
            {
                Console.WriteLine(
    "我是T50坦克");
            }

            
    public override void Run()
            {
                Console.WriteLine(
    "我可走正常的路");
            }
        }

    一个实体类继承自抽象

    下面轮到我们的主角装饰者类上场了

        class JiaNongPo:Tank
        
    {
            
    private Tank tank;
            
    public JiaNongPo(Tank tank)
            
    {
                
    this.tank = tank;
            }

            
    public override void Shot()
            
    {
                Console.WriteLine(
    "装备加农炮");
            }

            
    public override void Run()
            
    {
                tank.Run();
            }

        }

        
    class Papo : Tank
        
    {
            
    private Tank tank;
            
    public Papo(Tank tank)
            
    {
                
    this.tank = tank;
            }

            
    public override void Run()
            
    {
                Console.WriteLine(
    "装备爬坡器!");
            }

            
    public override void Shot()
            
    {
                tank.Shot();
            }


        }

    这是我们的装饰者类,之前用过另外一个抽象装饰者类来继承Tank类 后来发现状态保存比较麻烦,所以不用了 直接用

    具体的装饰者来继承但是一个缺点就是当Tank类中的方法较多的时候会要求全部重载 Tank类的方法比较麻烦啊,不知各位有什么好的解决办法。好了天不早了 我要休息了啊 努力中....

  • 相关阅读:
    VSS與CSV區別
    办公室中节约时间
    C#中用Smtp發郵件
    关于分层结构的感悟(轉)
    Visual Studio.Net 技巧(轉)
    常用數據庫訪問方式比較
    Winows部署中一些內容說明
    适配器模式(Adapter Pattern)(轉)
    Vistual Studio 2005 sp1補丁的詳細內容
    感情 程序 祭 【转】
  • 原文地址:https://www.cnblogs.com/DrEdison/p/1256032.html
Copyright © 2011-2022 走看看