美文网首页
结构型模式 --- 装饰模式

结构型模式 --- 装饰模式

作者: 十二找十三 | 来源:发表于2019-12-23 10:23 被阅读0次
装饰器模式的应用场景:
1、需要扩展一个类的功能。
2、动态的为一个对象增加功能,而且还能动态撤销。(继承不能做到这一点,继承的功能是静态的,不能动态增删。)
package study.org;

public class Demo {
    public static void main(String[] args) {
        Product product = new ProductImpl(1);

        Decorator add1 = new Add1(product);
        Decorator add2 = new Add2(add1);

        System.out.println(add2.showPrice());
    }
}


interface Product {
    int showPrice();
}

class ProductImpl implements Product {
    private int price;

    public ProductImpl(int price) {
        super();
        this.price = price;
    }

    @Override
    public int showPrice() {
        return price;
    }
}

// 装饰模式
abstract class Decorator implements Product {
    private Product product;

    public Decorator(Product product) {
        super();
        this.product = product;
    }

    @Override
    public int showPrice() {
        return product.showPrice();
    }
}

// 装饰类1
class Add1 extends Decorator {
    public Add1(Product product) {
        super(product);
    }

    @Override
    public int showPrice() {
        return 1 + super.showPrice();
    }
}

// 装饰类2
class Add2 extends Decorator {
    public Add2(Product product) {
        super(product);
    }

    @Override
    public int showPrice() {
        return 2 + super.showPrice();
    }
}

相关文章

  • 23种设计模式

    创建型 工厂模式 ( 工厂方法模式, 抽象工厂模式, 建造者模式 ) 单例模式 原型模式 结构型 适配器模式 装饰...

  • 设计模式分类汇总

    结构型 适配器模式 组合模式 桥接模式 代理模式 装饰者模式 门面模式 享元模式 行为型 责任链模式 命令模式 解...

  • 设计模式(1)工厂模式

    设计模式有 23 种,按大类分的化可以分为三类 创建型(如:工厂模式、单例模式、原型模式等) 结构模式型(如:装饰...

  • JavaScript设计模式

    设计模式分类(23种设计模式) 创建型单例模式原型模式工厂模式抽象工厂模式建造者模式 结构型适配器模式装饰器模式代...

  • 结构型模式:装饰模式

    文章首发:结构型模式:装饰模式 七大结构型模式之四:装饰模式。 简介 姓名 :装饰模式 英文名 :Decorato...

  • 常用的设计模式

    设计模式主要大概分成三类: 1.创建型:单例设计模式、抽象工厂设计模式 2.结构型:MVC 模式、装饰器模式、适配...

  • java23种设计模式

    创建型 抽象工厂模式工厂方法建造者模式原型模式单态模式 结构型 适配器模式桥接模式组合模式外观模式装饰者模式享元模...

  • iOS常用设计模式总结(一)

    设计模式大概分成三类: 1.创建型:单例设计模式、抽象工厂设计模式 2.结构型:MVC 模式、装饰器模式、适配器模...

  • 装饰模式

    个人博客http://www.milovetingting.cn 装饰模式 模式介绍 装饰模式也称为包装模式,结构...

  • 设计模式之装饰器模式

    也称装饰者模式、装饰器模式、Wrapper、Decorator。 装饰模式是一种结构型设计模式,允许你通过将对象放...

网友评论

      本文标题:结构型模式 --- 装饰模式

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