,,C++设计模式之模板方法模式(TemplateMethod)

,,C++设计模式之模板方法模式(TemplateMethod)

本文主要详细介绍了C设计模式的模板方法,具有一定的参考价值。感兴趣的朋友可以参考一下。

模板模式使用继承来实现模式的功能,在基类中使用一个方法来定义算法的每一步。这些步骤(方法)的具体实现会放到子类中,从而实现不同算法对象的算法组合,完成这个对象整个算法的实现。

作用

模板中定义了具体操作中用到的算法的每一步,其实现由子类完成,从而实现各种功能。

类视图

实现

班级午餐

{

公共:

午餐(){}

虚拟~午餐(){}

无效进料()

{

烹饪();

吃饭();

清洗();

}

虚虚煮()=0;

虚虚食()

{

cout '我正在吃饭,请不要打扰我\ n ';

}

虚空清理();

};

麦克尔班:公共午餐

{

公共:

MCMeal(){}

virtual ~MCMeal(){}

无效烹饪()

{

cout“我在做Mc饭\ n”;

}

空隙清理()

{

cout我在清洗Mc盘子’;

}

};

KFCMeal类:公共午餐

{

公共:

KFCMeal() {}

virtual ~KFCMeal(){}

无效烹饪()

{

cout“我在做肯德基餐\ n”;

}

无效进食

{

cout肯德基饭不错\ n’;

}

空隙清理()

{

cout我在清洗肯德基的盘子和杯子\ n’;

}

};

int main()

{

午餐* meal 1=new McMeal();

meal 1 . feed();

午餐* meal 2=new KFC meal();

meal 2 . feed();

}

应用场景

当一个算法的功能需要能够改变,而这种改变是通过在子类中重写功能来实现的;

当算法可以实现统一的步骤,可以分为不变部分和可变部分时,可变互粉可以实现算法在子类中的不同变化;

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • vs2015打包安装程序,vs2015程序打包,VS2022实现VC++打包生成安装文件图文详细历程
  • vc++6.0的快捷键,vc 快捷键
  • vc++6.0的快捷键,vc 快捷键,VC6.0常用快捷键大全
  • 绘制圆角矩形的方法,c++ 画矩形,C#画圆角矩形的方法
  • 懒汉式和饿汉式代码,单列模式懒汉和饿汉,C++单例模式的懒汉模式和饿汉模式详解
  • 好用的C++编译器,c++编译软件哪个好
  • semaphore c#,c++ semaphore
  • semaphore c#,c++ semaphore,C++中Semaphore内核对象用法实例
  • dev-c++使用教程,dev c++安装教程
  • dev-c++使用教程,dev c++安装教程,Dev C++ 安装及使用方法(图文教程)
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针,简单总结C++中指针常量与常量指针的区别
  • com组件初始化失败,c#开发com组件,C++中COM组件初始化方法实例分析
  • c++静态成员变量使用,c++静态成员函数和静态成员变量
  • c++静态成员变量使用,c++静态成员函数和静态成员变量,详解c++ 静态成员变量
  • 留言与评论(共有 条评论)
       
    验证码: