装饰器模式
装饰器模式
适配器是连接两个类,可以增强一个类,装饰器是增强一个类
向一个现有的对象添加新的功能,同时又不改变其结构。属于对象结构型模式。
创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。
案例
现在有一个直播类,我们需要给它添加美颜功能
public interface TikTok {void start();
}
public class MyTikTok implements TikTok{@Overridepublic void start() {System.out.println("开始直播。。。");}
}
添加装饰器:
public interface Decorator extends TikTok{void enable();
}
public class MeiYanDecorator implements Decorator{private TikTok tikTok;public MeiYanDecorator(TikTok tikTok){this.tikTok = tikTok;}@Overridepublic void enable() {System.out.println("开启美颜。。。");}@Overridepublic void start() {enable();tikTok.start();}
}
测试:
public class Main {public static void main(String[] args) {MeiYanDecorator decorator = new MeiYanDecorator(new MyTikTok());decorator.start();}
}