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

外汇交易网站开发线上商城运营

外汇交易网站开发,线上商城运营,软件编程基础知识,山东网站设计公司装饰模式#xff08;Decorator Pattern#xff09;是一种结构型设计模式#xff0c;它允许向现有对象动态地添加新功能#xff0c;同时又不改变其结构。装饰模式通过将对象放入包装器中来实现#xff0c;在包装器中可以动态地添加功能。 在装饰模式中#xff0c;通常会有…装饰模式Decorator Pattern是一种结构型设计模式它允许向现有对象动态地添加新功能同时又不改变其结构。装饰模式通过将对象放入包装器中来实现在包装器中可以动态地添加功能。 在装饰模式中通常会有四个角色 Component组件定义一个对象接口可以动态地给这些对象添加职责。ConcreteComponent具体组件实现Component接口并定义需要被装饰的类。Decorator装饰器持有一个Component对象的引用并定义一个与Component接口一致的接口。ConcreteDecorator具体装饰器扩展Decorator类覆盖其中的方法以添加新的功能。 #include iostream// Component组件 class Coffee { public:virtual void makeCoffee() 0; };// ConcreteComponent具体组件 class SimpleCoffee : public Coffee { public:void makeCoffee() override {std::cout Making simple coffee std::endl;} };// Decorator装饰器 class CoffeeDecorator : public Coffee { protected:Coffee* coffee;public:CoffeeDecorator(Coffee* coffee) : coffee(coffee) {}void makeCoffee() override {if (coffee) {coffee-makeCoffee();}} };// ConcreteDecorator具体装饰器 class MilkDecorator : public CoffeeDecorator { public:MilkDecorator(Coffee* coffee) : CoffeeDecorator(coffee) {}void makeCoffee() override {if (coffee) {coffee-makeCoffee();addMilk();}}void addMilk() {std::cout Adding milk std::endl;} };// ConcreteDecorator具体装饰器 class SugarDecorator : public CoffeeDecorator { public:SugarDecorator(Coffee* coffee) : CoffeeDecorator(coffee) {}void makeCoffee() override {if (coffee) {coffee-makeCoffee();addSugar();}}void addSugar() {std::cout Adding sugar std::endl;} };int main(int argc, char *argv[]) {// 创建一个简单的咖啡对象Coffee* simpleCoffee new SimpleCoffee();// 使用装饰器为咖啡添加牛奶Coffee* milkCoffee new MilkDecorator(simpleCoffee);// 制作带牛奶的咖啡milkCoffee-makeCoffee();// 使用装饰器为牛奶咖啡添加糖Coffee* milkSugarCoffee new SugarDecorator(milkCoffee);milkSugarCoffee-makeCoffee();delete simpleCoffee;delete milkCoffee;delete milkSugarCoffee;return 0; }/* 在这个示例中Coffee 是一个抽象基类SimpleCoffee 是具体的咖啡类CoffeeDecorator 是装饰器类MilkDecorator 是具体的装饰器类用于添加牛奶。通过装饰器模式我们可以动态地给咖啡对象添加新的功能而不需要修改原有的类结构。 */ 觉得有帮助的话打赏一下呗。。
http://www.dnsts.com.cn/news/26108.html

相关文章:

  • 重庆 建站 价格惠州建站平台
  • 做网站的公司名字wordpress下载后放哪
  • 源码分享兰州网站建设优化
  • 连连电商网站开发公司ps网站设计全程绝密
  • 深圳定制网站开发wordpress禁止响应
  • 宜昌平台网站建设东营网红桥
  • 深圳专业商城网站网站的排名优化怎么做
  • 郑州做网站的大公松江新桥网站建设
  • asp.net网站管理工具滕州做网站比较好的网络公司
  • 沈阳网站关键字优化提升学历咨询
  • dede小说网站模板下载网站全屏广告
  • 平昌县住房和城乡建设局网站怎么搜索网站搜索量
  • 手机百度屏蔽我网站关键词公共资源交易中心是干嘛的
  • 信息网站制作产品包装设计与制作
  • 南阳seo网站排名优化手把手教建设网站
  • 创业网站怎么做微信公众网站开发
  • 静安做网站的公司微信小程序如何推广
  • 网站开发需要的知识和技术软件开发工程师做什么
  • 商城网站流量wordpress搬家换域名
  • 那些企业需要做网站织梦网站怎么上传
  • 福建 专业网站建设公司浏览器查看WordPress主题
  • 空间放两个网站建设工程施工合同专属管辖
  • 推广网站的软文wordpress安装时候500错误
  • 网站开发基本工资是多少制作免费网站的平台
  • 网站制作时广州专业网站建设
  • 重庆自适应网站建设个人网站可以做资讯吗?
  • 影视传媒公司网站php源码网页无法访问什么原因
  • 做酒店管理网站的作用嵌入式软件开发专业
  • 一些做设计素材的网站网络工程师报名入口官网
  • wordpress设置新页面跳转广州网站建设优化方案