装饰者模式
###1.建立food类
public class Food {
private String food_name;
public Food(){}
public Food(String food_name) {
this.food_name = food_name;
}
public String make(){
return food_name;
}
}
###2.建立奶油蔬菜和面包类
public class Cream extends Food{
private Food basic_food;
public Cream(Food basic_food) {
this.basic_food = basic_food;
}
public String make(){
return basic_food.make()+"奶油";
}
}
public class Vegetable extends Food{
private Food basic_food;
public Vegetable(Food basic_food) {
this.basic_food = basic_food;
}
public String make(){
return basic_food.make()+"蔬菜";
}
}
public class Bread extends Food{
private Food basic_food;
public Bread(Food basic_food) {
this.basic_food = basic_food;
}
public String make(){
return basic_food.make()+"面包";
}
}
###3.测试类
public class test {
public static void main(String[] args) {
Food food = new Bread(
new Vegetable(new Cream(new Food("香肠"))));
System.out.println(food.make());
}
}
###结果:
一个三明治需要就好了
香肠+奶油+蔬菜+面包