美文网首页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