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

南阳建设网站哪家好网站收录

南阳建设网站哪家好,网站收录,做一个论坛网站多少钱,衣服网站建设方案模板方法模式(Template Method Pattern) 是一种 行为型设计模式,用于定义 算法的骨架,并允许子类在不改变算法结构的情况下 重新定义 其中的某些步骤。 核心思想: 在 基类 中定义 算法的整体流程(骨架&am…

模板方法模式(Template Method Pattern) 是一种 行为型设计模式,用于定义 算法的骨架,并允许子类在不改变算法结构的情况下 重新定义 其中的某些步骤。

核心思想:

  • 基类 中定义 算法的整体流程(骨架),但具体的实现留给 子类
  • 基类 只负责调用流程,具体逻辑由 子类 来实现,符合 “开放封闭原则”(对扩展开放,对修改封闭)。

1. 结构

类图

+----------------------+
|   AbstractClass      |  (抽象类)
+----------------------+
| + templateMethod()   |  (定义算法的骨架)
| + step1()            |  (基本方法,可能有默认实现)
| + step2()            |  (抽象方法,交由子类实现)
+----------------------+▲│
+----------------------+
|   ConcreteClass      |  (具体子类)
+----------------------+
| + step2()           |  (实现父类的抽象方法)
+----------------------+

代码示例

#include <iostream>// 抽象类,定义算法骨架
class AbstractClass {
public:// Template Method,定义算法的框架void templateMethod() {step1();     // 固定实现step2();     // 交给子类实现step3();     // 固定实现}protected:void step1() {  // 提供默认实现std::cout << "Step 1: 基类的实现" << std::endl;}virtual void step2() = 0; // 纯虚函数,子类必须实现void step3() {  // 提供默认实现std::cout << "Step 3: 基类的实现" << std::endl;}
};// 具体子类,实现 step2
class ConcreteClass : public AbstractClass {
protected:void step2() override {std::cout << "Step 2: 子类的实现" << std::endl;}
};int main() {ConcreteClass obj;obj.templateMethod();  // 调用模板方法return 0;
}

2. 关键点

  1. templateMethod()基类 中定义算法的结构,并且不允许子类重写
  2. 部分方法(step1step3 在基类中有默认实现,子类可以直接继承。
  3. 部分方法(step2virtual(纯虚函数),子类必须实现自己的逻辑。

3. 适用场景

场景原因
多个类的算法流程相同,但部分步骤不同避免重复代码,提高复用性
算法的某些步骤可能会变化,但主流程不变通过子类扩展,而不影响基类
需要控制子类扩展的范围只允许子类修改某些特定步骤
http://www.dtcms.com/wzjs/152961.html

相关文章:

  • 做网站群的公司福州百度seo排名软件
  • 东莞皮具网站建设电商运营转行后悔了
  • 扬州网站建设要多少钱微信营销软件有哪些
  • 网站收录排名怎么做google搜索引擎入口
  • 公司网站推广计划书怎么做太原做推广营销
  • 建站宝盒建站系统百度权重怎么看
  • 去哪学做网站网站建设及网站推广
  • 网站弹出文字找资源最好的是哪个软件
  • 公司做网站的宜昌今日头条新闻
  • 青岛企业网站开发2022年适合小学生的新闻
  • 合肥做百度网站爱站网长尾关键词挖掘工具电脑版
  • 郑州企业做网站软文营销网
  • 网站手机端跳转页面模板电商网站模板
  • 网盘网站开发seo竞价培训
  • 专门用来制作网页的软件是什么推广优化工具
  • 做网站如何备案个人在线网站推广
  • 软件制作app关键词seo排名优化软件
  • 专业团队搞笑图片网站seo收录
  • 最简单的静态网站360推广怎么收费
  • 网站换模板新东方线下培训机构官网
  • 沈阳建立网站最有效的广告宣传方式
  • 做网站优化有什么途径网站关键词优化排名软件
  • 台州网站推广技巧付费广州软文推广公司
  • 网站开发及建设百度推广关键词怎么设置好
  • 网站后台页面设计怎么做网络营销
  • 网站优化怎样的九江seo优化
  • 虚拟主机网站建设晚上偷偷看b站软件推荐
  • 网站被抓取网站建设深圳公司
  • wordpress设计主题网络优化器免费
  • 百度做网站哪里可以学专业做网站官网