当前位置: 首页 > news >正文

普洱市住房和城乡建设局信息公开网站百度收录批量提交入口

普洱市住房和城乡建设局信息公开网站,百度收录批量提交入口,网站建设挣钱 知乎,哪些网站可以做外贸装饰模式#xff1a;动态地给一个对象添加一些额外的职责。就增加功能来说#xff0c;装饰模式相比生成子类更为灵活。有时我们希望给某个对象而不是整个类添加一些功能。比如有一个手机#xff0c;允许你为手机添加特性#xff0c;比如增加挂件、屏幕贴膜等。一种灵活的设… 装饰模式动态地给一个对象添加一些额外的职责。就增加功能来说装饰模式相比生成子类更为灵活。有时我们希望给某个对象而不是整个类添加一些功能。比如有一个手机允许你为手机添加特性比如增加挂件、屏幕贴膜等。一种灵活的设计方式是将手机嵌入到另一对象中由这个对象完成特性的添加我们称这个嵌入的对象为装饰。这个装饰与它所装饰的组件接口一致因此它对使用该组件的客户透明。下面给出装饰模式的UML图。 在这种设计中手机的装饰功能被独立出来可以单独发展进而简化了具体手机类的设计。下面给出Phone类的实现 [cpp] view plaincopyprint? //公共抽象类   class Phone   {   public:       Phone() {}       virtual ~Phone() {}       virtual void ShowDecorate() {}   };   具体的手机类的定义 [cpp] view plaincopyprint? //具体的手机类   class iPhone : public Phone   {   private:       string m_name; //手机名称   public:       iPhone(string name): m_name(name){}       ~iPhone() {}       void ShowDecorate() { coutm_name的装饰endl;}   };   //具体的手机类   class NokiaPhone : public Phone   {   private:       string m_name;   public:       NokiaPhone(string name): m_name(name){}       ~NokiaPhone() {}       void ShowDecorate() { coutm_name的装饰endl;}   };   装饰类的实现 [cpp] view plaincopyprint? //装饰类   class DecoratorPhone : public Phone   {   private:       Phone *m_phone;  //要装饰的手机   public:       DecoratorPhone(Phone *phone): m_phone(phone) {}       virtual void ShowDecorate() { m_phone-ShowDecorate(); }   };   //具体的装饰类   class DecoratorPhoneA : public DecoratorPhone   {   public:       DecoratorPhoneA(Phone *phone) : DecoratorPhone(phone) {}       void ShowDecorate() { DecoratorPhone::ShowDecorate(); AddDecorate(); }   private:       void AddDecorate() { cout增加挂件endl; } //增加的装饰   };   //具体的装饰类   class DecoratorPhoneB : public DecoratorPhone   {   public:       DecoratorPhoneB(Phone *phone) : DecoratorPhone(phone) {}       void ShowDecorate() { DecoratorPhone::ShowDecorate(); AddDecorate(); }   private:       void AddDecorate() { cout屏幕贴膜endl; } //增加的装饰   };   客户使用方式 [cpp] view plaincopyprint? int main()   {       Phone *iphone  new NokiaPhone(6300);       Phone *dpa  new DecoratorPhoneA(iphone); //装饰增加挂件       Phone *dpb  new DecoratorPhoneB(dpa);    //装饰屏幕贴膜       dpb-ShowDecorate();       delete dpa;       delete dpb;       delete iphone;       return 0;   }   装饰模式提供了更加灵活的向对象添加职责的方式。可以用添加和分离的方法用装饰在运行时刻增加和删除职责。装饰模式提供了一种“即用即付”的方 法来添加职责。它并不试图在一个复杂的可定制的类中支持所有可预见的特征相反你可以定义一个简单的类并且用装饰类给它逐渐地添加功能。可以从简单的部件组合出复杂的功能。[DP] 在本文的例子中我们定义了两个具体的手机类iPhone类和NokiaPhone类通过单独的装饰类为它们添加特性从而组合出复杂的功能。        本人享有博客文章的版权转载请标明出处 http://blog.csdn.net/wuzhekai1985
http://www.zqtcl.cn/news/437894/

相关文章:

  • 网站建设佰首选金手指三360怎么免费建网站
  • 网站万能密码修复苏州市建设中心网站
  • 如何搭建php网站网站制作的前期主要是做好什么工作
  • 站酷设计网站官网站不能正常显示出现后台代码
  • 网站域名改版微信公众号免费开通
  • 代网站建设如何对网站进行爬虫
  • 做公司+网站建设价格低网站两边广告代码
  • 服务器上怎做网站提升网页优化排名
  • 上海网站推广模板景德镇网站开发
  • 艺术风格网站成都软件开发公司排行榜
  • 搭建个人网站赚钱网站开发应该注意什么
  • 医药招商网站建设做招聘网站都需要什么手续
  • 通州网站建设电话外贸订单网站推广
  • 余江县建设局网站福州外包加工网
  • 为网站网站做推广加强网络安全建设
  • dedecms 模版网站wordpress 10万并发
  • 衡阳企业网站排名优化深圳网站建设 联雅网络
  • 厦门网站建设案例做网站需要买多大空间
  • 查看网站被恶意镜像wordpress 添加文件权限设置
  • 基于php的网站开发流程图如何建设一个公众号电影网站
  • 2018年怎么做网站排名如何提升网站的收录量
  • 租电信服务器开网站为何要屏蔽网站快照
  • 广州建设网站技术企业咨询属于什么行业
  • 哪些网站容易做网站开发价格
  • 展览网站源码棋牌游戏软件开发
  • 网站开发业务ppt做网站如何放入图像
  • 专业做网站和小程序车载网络设计是干什么的
  • 运城网站建设兼职建设通网站武义巨合汪志刚
  • 广州网站建设公司排行个人介绍网页设计模板图片
  • 东莞营销网站建设多少钱wordpress开场动画