美文网首页Java高级交流
装饰器模式-Decorator(Java实现)

装饰器模式-Decorator(Java实现)

作者: Java小生 | 来源:发表于2018-05-13 15:13 被阅读0次

    装饰器模式-Decorator(Java实现)

    装饰器模式允许向一个现有的对象添加新的功能, 同时又不改变其结构。

    其中 "现有对象"在本文中是StringDisplay类.

    添加新的功能的对象在本文中是: SideBorder类 和 FullBorder类

    Display接口

    StringDisplay类

    基础功能类, 用于打印字符串.

    使用方式如下:

    Display b1 = new StringDisplay("Hello, world.");

    b1.show();

    装饰器类

    AbstractBorder抽象类

    这是具体装饰器类的抽象定义, 为了装饰后也能统一对外的接口, 这里也继承了Display接口

    SideBorder类

    本类是一个装饰器

    使用方式如下:

    把一个SideBorder装饰器添加到StringDisplay上, 于是乎"Hello, world." 就变成了 "#Hello, world.#"

    Display b1 = new StringDisplay("Hello, world.");

    Display b2 = new SideBorder(b1, '#');

    b2.show();

    FullBorder类

    本类是一个装饰器

    使用方式如下:

    把一个FullBorder装饰器添加到StringDisplay上, 于是乎"Hello, world." 就变成了->

    +------ --+

    |Hello, world.|

    +---------+

    Display b1 = new StringDisplay("Hello, world.");

    Display b3 = new FullBorder(b1);

    b3.show();

    Main

    运行测试

    相关文章

      网友评论

        本文标题:装饰器模式-Decorator(Java实现)

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