首页 > 代码库 > 装饰模式
装饰模式
【1】什么是装饰模式?
装饰模式:动态地给一个对象添加一些额外的职责。
【2】装饰模式代码示例:
代码如下:
1 #include <string> 2 #include <iostream> 3 using namespace std; 4 5 class Person 6 { 7 private: 8 string m_strName; 9 public:10 Person(string strName)11 {12 m_strName = strName;13 }14 15 Person(){}16 17 virtual void show()18 {19 cout << "装扮的是:" << m_strName << endl;20 }21 }; 22 23 class Finery : public Person24 {25 protected:26 Person *m_component;27 public:28 void decorate(Person* component)29 {30 m_component = component;31 }32 virtual void show()33 {34 m_component->show();35 }36 };37 38 class TShirts : public Finery39 {40 public:41 virtual void show()42 {43 m_component->show();44 cout << "T shirts" << endl;45 }46 };47 48 class BigTrouser : public Finery49 {50 public:51 virtual void show()52 {53 m_component->show();54 cout << "Big Trouser" << endl;55 }56 };57 58 int main()59 {60 Person *p = new Person("小李");61 BigTrouser *bt = new BigTrouser();62 TShirts *ts = new TShirts();63 64 bt->decorate(p);65 ts->decorate(bt);66 ts->show();67 68 return 0;69 }
Good Good Study, Day Day Up.
顺序 选择 循环 总结
装饰模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。