更好地实现功能的扩展,防止继承种类繁多生成多种子类,降低系统的复杂程度。装饰器模式在不改变现有对象结构情况下,动态地给对象增加一些职责实现功能的扩展。
interface Coder
{
void writeCode();
}
class Coder_ONE implements Coder
{
private Coder coder;
public Coder_ONE(Coder coder)
{
this.coder= coder;
}
@Override
public void writeCode()
{
coder.writeCode();
}
}
class Coder_TWO extends Coder_ONE{
public Coder_TWO(Coder coder) {
super(coder);
}
public void doYourBest() {
System.out.println("不断提升自身实力");
}
@Override
public void writeCode() {
super.writeCode();
doYourBest();
}
}
class FirstCoder implements Coder{
@Override
public void writeCode() {
System.out.println("初级代码工程师");
}
}