装饰者模式是一种结构设计模式,它允许你在不改变对象结构的前提下动态地将新功能附加到对象上。这种模式属于对象的结构型模式,它以透明的方式扩展对象的功能。
在Java中,装饰者模式通过创建一个装饰者类,该类实现了与原始对象相同的接口,并通过组合将原始对象传递给装饰者。装饰者类可以在调用原始对象的方法之前或之后执行额外的操作,从而增强对象的功能。
让我们通过一个示例来说明如何使用装饰者模式。假设我们有一个简单的咖啡接口 Coffee
,它定义了获取咖啡名称和价格的方法。我们还有一个具体的咖啡实现类 SimpleCoffee
,它实现了 Coffee
接口。
interface Coffee {
String getName();