zoukankan      html  css  js  c++  java
  • 结构型设计模式-装饰器模式

    说明:
    装饰器模式 (Decorator Pattern)允许 向一个现有的对象添加新的功能,同时又不改变其结构 。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。
    这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。
    实现方法
    1.新建一个接口
    pubic abstract 手机(){
    public abstract print();
    }
    2.新建装饰器类
    public abstract 装饰器:手机{
        protectted 手机 手机对象名;
        public override print(){
        //我是XX手机。
        }
        public void SetPhone(手机 入参手机){
        this.手机对象名 = 入参手机
        }
    }
    3.新建实体类。
    public class 苹果手机:手机{
        public override print(){
        //我是苹果手机
        }
    }
    4.新建装饰器
    public class 手机壳:装饰器{
        public override print(){
        //我是带壳的
        }
    }
    public class 手机膜:装饰器{
        public override print(){
        //我是带膜的
        }
    }
    5.举例
    //一个苹果手机
    苹果手机 我的手机= new 苹果手机();
    我的手机.print();
    //一个带壳的苹果手机
    手机壳 带壳手机 = new 手机壳();
    手机壳.SetPhone(我的手机);
    手机壳.print();
    //一个带膜的苹果手机
    手机膜 带膜手机 = new 手机膜();
    手机膜.SetPhone(我的手机);
    手机膜.print();
    //一个带壳又带膜的苹果手机
    手机膜 带膜带壳手机 = new 手机膜();
    带膜带壳手机.SetPhone(带壳手机);
    带膜带壳手机.print();

     
  • 相关阅读:
    comm---两个文件之间的比较
    fgrep---指定的输入文件中的匹配模式的行
    zip---解压缩文件
    unzip---解压缩“.zip”压缩包。
    tar---打包,解压缩linux的文件和目录
    scp---远程拷贝文件
    make---GNU编译工具
    gcc---C/C++ 编译器
    expr---计算工具
    curl -w 支持的参数
  • 原文地址:https://www.cnblogs.com/magicalconch/p/14457574.html
Copyright © 2011-2022 走看看