package com.logbug.designpatterns;
/**
* 装饰器模式
*
* @author : lin.chen1
* @version : 1.0.0.0
* @date : Created at 2022/2/25
*/
public class PtWrapper {
interface Singer {
void sing();
}
static class SimpleSinger implements Singer {
@Override
public void sing() {
System.out.println("唱歌");
}
}
static class SingerWrapper implements Singer {
Singer singer;
public SingerWrapper(Singer singer) {
this.singer = singer;
}
@Override
public void sing() {
System.out.println("讲个故事先:我是一个农民,来自陕北...bala bala");
singer.sing();
}
}
public static void main(String[] args) {
Singer singer = new SimpleSinger();
singer.sing();
System.out.println("火不了\n\n");
singer = new SingerWrapper(singer);
singer.sing();
System.out.println("能火");
}
}