首页 > 代码库 > 代理模式
代理模式
【1】什么是代理模式?
为其他对象提供一种代理,并以控制对这个对象的访问。
【2】代理模式代码示例:
示例代码:
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 class SchoolGirl 6 { 7 public: 8 string name; 9 };10 11 /*12 * 接口13 */14 class IGiveGift15 {16 public:17 virtual void giveDolls() = 0;18 virtual void giveFlowers() = 0;19 };20 21 /*22 * 委托类23 */24 class Pursuit : public IGiveGift25 {26 private:27 SchoolGirl mm;28 29 public:30 Pursuit(SchoolGirl m)31 {32 mm = m;33 }34 void giveDolls()35 {36 cout << mm.name << " 送你娃娃" << endl; 37 }38 void giveFlowers()39 {40 cout << mm.name << " 送你鲜花" << endl; 41 }42 };43 44 /*45 * 代理类46 */47 class Proxy : public IGiveGift48 {49 private:50 Pursuit gg;51 52 public:53 Proxy(SchoolGirl mm) : gg(mm)54 {55 }56 void giveDolls()57 {58 gg.giveDolls();59 }60 void giveFlowers()61 {62 gg.giveFlowers();63 }64 };65 66 /*67 * 客户端68 */69 int main()70 {71 SchoolGirl lijiaojiao;72 lijiaojiao.name = "李娇娇"; 73 Pursuit zhuojiayi(lijiaojiao); 74 Proxy daili(lijiaojiao);75 76 daili.giveDolls();77 daili.giveFlowers();78 79 return 0;80 }
Good Good Study, Day Day Up.
顺序 选择 循环 总结
代理模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。