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

中职高一网站建设试题辉玲建设集团有限公司网站

中职高一网站建设试题,辉玲建设集团有限公司网站,wordpress 收费吗,手机网站怎么制作软件本文章属于专栏- 概述 - 《设计模式(极简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.yayakq.cn/news/416007/

相关文章:

  • 怎么做算命的网站iis wordpress 500
  • 校园风险管理网站建设方案wordpress易语言登录
  • delphi网站开发教程低代码app开发平台
  • 做海购的网站怎么样做企业模板网站
  • 什么网站可以免费发广告网站内页百度不收录
  • 哪家做网站域名批量查询网站
  • 滁州 来安县建设局网站logo灵感网站
  • 婚纱网站php河南电商网站设计
  • 网站建设订单平顶山市网站建设公司
  • 住宅房做旅店是什么网站中文企业网站html模板
  • 网站做树状结构有什么作用seo培训学校
  • 商洛 网站建设手机网站解析域名
  • 微网站和手机网站wps的ppt做网站超链接
  • 西安信息网站建设·温州公司建设网站
  • js网站开发二手房交易网站开发源码
  • 怎么建设seo自己网站天元建设集团有限公司恒大
  • 大良做网站网站如何添加图标
  • 长安微网站建设优秀个人网页
  • 高水平网站运营托管网站建设跟版网
  • wordpress自动加文章tittlewordpress宝塔优化
  • 网站重新搭建程序要多少钱网站建设公司的方案模板
  • 东莞营销网站建设哪个平台好市场营销的十大理论
  • 述建设一个网站的具体步骤天津特定网站建设推广
  • 网站ui设计软件怎么选择扬中网站建设
  • 东营做网站优化多少钱当下最火的加盟店
  • 怎样做好网站建设青岛李沧区城乡建设局网站
  • 一起做网店的网站做游戏特效的网站
  • 帮企网站建设免费做淘宝客网站有哪些
  • 全屋定制十大名牌排行最新网站seo运营培训机构
  • 常见的网站开发语言备案域名出售是否违法