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

广东省做网站推广公司新余seo

广东省做网站推广公司,新余seo,网页制作模板和库教案,查询网站备案显示划横线本文章属于专栏- 概述 - 《设计模式(极简c版)》-CSDN博客 模式说明: 方案: 装饰类和派生类同根,然后装饰类中放一个派生类,以在接口不动的情况下增加功能优点: 可以灵活地扩展对象功能&#xf…

         本文章属于专栏- 概述 - 《设计模式(极简c++版)》-CSDN博客


模式说明

  • 方案: 装饰类和派生类同根,然后装饰类中放一个派生类,以在接口不动的情况下增加功能
  • 优点: 可以灵活地扩展对象功能,相比继承更易读。
  • 缺点: 增加了许多小对象,易于出错,不易调试。

本质思想: 派生类和装饰类都继承Base,然后装饰器类中放一个Base指针,存派生类。这样装饰器类和派生类可以放一个数组中,调用相同接口,这样部分类的功能看起来像被装饰了。前面是核心思想,基于这个再扩展,很容易基于装饰器加装饰器,或者把有相似接口的装饰器抽象出一个装饰器基类。

实践建议

  • 注意组合关系,确保装饰器和被装饰对象之间的接口一致。
  • 装饰器的功能应该是可组合的,可叠加的。

代码示例

#include <iostream>// Component Interface
class Bird {
public:virtual void fly() const = 0;
};// Concrete Component
class Sparrow : public Bird {
public:void fly() const override {std::cout << "Sparrow is flying." << std::endl;}
};// Concrete Decorator
class RedFeatherDecorator : public Bird {
private:Bird *bird;public:explicit RedFeatherDecorator(Bird *b) : bird(b) {}void fly() const override {bird->fly();std::cout << "With red feathers." << std::endl;}
};int main() {Bird *sparrow = new Sparrow();Bird *redSparrow = new RedFeatherDecorator(sparrow);redSparrow->fly();/* 
输出:Sparrow is flying.With red feathers.
*/delete sparrow;delete redSparrow;return 0;
}

http://www.15wanjia.com/news/16342.html

相关文章:

  • 烟台做网站建设电话河南公司网站建设
  • 互联网网站项目方案书网站网上推广
  • 阿坝网站制作市场营销方案怎么做
  • 微信登录wordpress免费公司seo排名优化
  • 做贸易常用的网站cilimao磁力猫搜索引擎
  • 子网站建设经验汇报中国域名注册官网
  • 网上做兼职网站优质网站
  • 江苏省建设厅八大员考试报名网站链接是什么意思
  • 怎么样让网站做的大气网络媒体软文案例
  • 千万别学服装设计百度seo排名推广
  • 做网站公司推广普通话手抄报
  • 怎么打帮人做网站开发的广告搜索引擎推广的方法有哪些
  • 中国顶级网站建设营销型网站建设的价格
  • 新手做网站什么内容比较好小程序平台
  • 企业网站推广按成交收费在线磁力搜索神器
  • 建设网站主题什么是推广
  • 只用php做网站军事新闻今日最新消息
  • django 做的网站长春做网络优化的公司
  • 做网站外包好做吗sem竞价托管公司
  • 软件开发费和网站建设点击软件
  • 网站开发用什么语言开发的开发网站的公司
  • 郑州专业做网站公司市场调研的步骤
  • 网站后台无上传图片按钮网络公司网站
  • 网站建设预计资金投入百度关键词怎么做排名
  • 网站源码建站视频军事新闻今日最新消息
  • 网站开发语言用到竞价托管公司排名
  • 慈溪网站建设哪家好如何注册属于自己的网站
  • 中央两学一做专题网站最近的新闻大事20条
  • 河北沧州卫健委疫情最新消息优化工具箱
  • 玩pc赚钱网站怎样做竞价推广