美文网首页
装饰模式应用和理解

装饰模式应用和理解

作者: 七维树 | 来源:发表于2018-03-20 13:10 被阅读4次

    【应用】

    一个父类,一个真实的子类,一个装修子类
    装饰子类还有多个子类
    父类->装饰子类->装饰子子类
    调用时:
    父类有个装饰子类属性,装饰子子类中用 用真实对象调用父类接口,并增加新的方法。
    

    【理解】

    目的是为了不改变某个类的文件时增加新的的方法,使用一个新的对象包含原来的对象,新的对象接口和原来的相同,外部调用时,用新的类替换老的对象,调用接口不变,同时新的对象就可以增加新的方法和属性了。
    
    最简单情况就是继承,一个父类,一个子类,子类重写父类方法并用super调用方法,并增加新的功能。
    在此基础上,为了多态化子类,则生成多个子子类,每个子子类都有不同的功能。
    在上面的基础上,父类可以有多个真实子类,此时就不能在super调用了,则需要在装饰类类中持父类对象,装饰子子类中重写的方法中,用持有的这个对象调用相同方法,同时可以添加新的方法。
    
    装饰类和真实类要求接口相同,所以一般抽出一个父类,让装饰类和真实类都继承父类。
    
    装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
    
    

    相关文章

      网友评论

          本文标题:装饰模式应用和理解

          本文链接:https://www.haomeiwen.com/subject/oyiefftx.html