组合模式:
组合多个对象形成树形结构以表示“部分-整体”的结构层次。组合模式对单个对象(叶子对象)和组合对象(容器对象)的使用具有一致性。
我们比较常见的文件夹和文件目录系统就是这种模式。
组合模式实例之水果盘:
抽象构建类MyElement:
class MyElement{
public:
virtual void eat() = 0;
};
叶子构件类Apple:
class Apple : public MyElement{
public:
void eat(){
cout << "吃苹果!" << endl;
}
};
叶子构件类Banana:
class Banana : public MyElement{
public:
void eat(){
cout << "吃香蕉!" << endl;
}
};
叶子构件类Pear: