本文主要详细介绍了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。