import java.text.DecimalFormat; //抽象组件组件 interface mkcake { public void cake(); } class Cake implements mkcake { @Override public void cake() { // TODO Auto-generated method stub System.out.println("一个成型蛋糕"); } } //装饰接口 abstract class Decorator implements mkcake { mkcake m; public Decorator(mkcake m) { this.m=m; } } class AddMilk extends Decorator { public AddMilk(mkcake m) { super(m); } @Override public void cake() { // TODO Auto-generated method stub m.cake(); System.out.println("加了牛奶"); } } class AddEgg extends Decorator { public AddEgg(mkcake m) { super(m); } @Override public void cake() { // TODO Auto-generated method stub m.cake(); System.out.println("加了鸡蛋"); } } public class 装饰模式 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //开始制作蛋糕 mkcake c=new Cake(); mkcake m=new AddMilk(new AddEgg(new Cake())); m.cake(); } }