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

合肥模板建站多少钱电脑编程培训学校

合肥模板建站多少钱,电脑编程培训学校,定制v教程免费,淘宝网的网站建设Decorator 动机 在某些情况下我们可能会“过度地使用继承来扩展对象的功能”#xff0c; 由于继承为类型引入的静态特质#xff0c;使得这种扩展方式缺乏灵活性#xff1b; 并且随着子类的增多#xff08;扩展功能的增多#xff09;#xff0c;各种子类的组合#xff…Decorator 动机 在某些情况下我们可能会“过度地使用继承来扩展对象的功能” 由于继承为类型引入的静态特质使得这种扩展方式缺乏灵活性 并且随着子类的增多扩展功能的增多各种子类的组合扩展 功能的组合会导致更多子类的膨胀如何使”对象功能的扩展“能够根据需要动态实现同时避免”扩展功能的增多“带来的子类膨胀问题从而使得任何”功能扩展变化“所导致的影响降到最低 模式定义 动态组合地给一个对象增加一些额外的职责。就增加功能而言Decorator模式比生成子类继承更为灵活消除重复代码 减少子类个数。 #include iostreamclass Component { public:virtual ~Component() {}virtual void operation() 0;// ... };class ConcreteComponent : public Component { public:~ConcreteComponent() {}void operation(){std::cout Concrete Component operation std::endl;}// ... };class Decorator : public Component // is-a 为了完善接口规范 { private:Component *component; // has-a 为了将来具体的实现public:~Decorator() {}Decorator(Component *c) : component(c) {}virtual void operation(){component-operation();}// ... };class ConcreteDecoratorA : public Decorator { public:ConcreteDecoratorA(Component *c) : Decorator(c) {}void operation(){Decorator::operation();std::cout Decorator A std::endl;}// ... };class ConcreteDecoratorB : public Decorator { public:ConcreteDecoratorB(Component *c) : Decorator(c) {}void operation(){Decorator::operation();std::cout Decorator B std::endl;}// ... };int main() {ConcreteComponent *cc new ConcreteComponent();ConcreteDecoratorB *db new ConcreteDecoratorB(cc);ConcreteDecoratorA *da new ConcreteDecoratorA(db);Component *component da;component-operation(); delete da;delete db;delete cc;return 0; } /* Concrete Component operation Decorator B Decorator A */何时场景 动态且透明地向各个对象添加职责即不影响其他对象对于可以撤销的责任当通过子类化扩展不切实际时 总结 通过采用组合而非继承的手法 Decorator模式实现了在运行时动态扩展对象功能的能力而且可以根据需要扩展多个功能。避免 了使用继承带来的“灵活性差”和“多子类衍生问题Decorator类在接口上表现为is-a Component的继承关系即Decorator类继承了Component类所具有的接口为了完善接口规范。但在实现上又表现为has-a Component的组合关系即Decorator类又使用了另外一个Component类为了将来的具体实现Decorator模式的目的并非解决“多子类衍生的多继承”问题 Decorator模式应用的要点在于解决“主体类在多个方向上的扩展功能”——是为“装饰”的含义。
http://www.dnsts.com.cn/news/24063.html

相关文章:

  • 兰州网站建设 冰雨建设一个微商的网站
  • 淘宝客返利网站程序wordpress 文章 来源
  • 做网站 服务器国家企业信息公示系统(全国)官网
  • 哪个网站做h5比较好看遵义网站建设推广
  • 网站如何做二级域名网站页面头部设计说明
  • 口碑好的徐州网站建设成品网页网站
  • 南乐网站建设公司网校培训
  • 做装修网站公司嘉兴做网站赚钱么
  • 民非企业网站建设费怎么记账怎样上传网站程序
  • 站长工具排行榜个人简历样本
  • 建设网站素材设计狮官网
  • 手机端网站自动弹出营销qq四川住房城乡建设厅官网
  • 企业网站建立公司php+mysql 网站建设
  • 东莞专业的网站设计价格现在做网站建设的公司多么
  • 网站开发需要哪些部门wordpress排行榜插件
  • 做网站时如何写接口文档怎么做律所的官方网站
  • 企业网站制作建设室内设计师怎么考证
  • 建站做网站网站页面制作
  • 重庆网站建设沛宣网站播放功能难做吗
  • 嘉兴网站优化排名房地产网站建设哪家有效果
  • asp 茶叶网站模板珠宝网站源码
  • 做蛋白go分析网站青海旅游的网站建设
  • 山西建设行政主管部门官方网站网站用户体验度
  • 在线推广是网站推广wordpress好看的页面跳转
  • 网站建设哪家做的好小程序介绍内容怎么写
  • 网站主办者是什么意思长沙企业100强名单
  • 这几年做那些网站致富网站建设实验分析总结
  • 工商营业执照注册网站建一个大型网站需要多少钱
  • 河南网站seo设计做网站商城前景怎么样
  • seo北京网站推广网址大全4399