C++设计模式之模板方法模式怎么实现(C++,编程语言)

时间:2024-04-25 16:55:53 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

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

作用

模板方法中定义了具体操作中所使用算法的各个步骤,并将其实现交由子类完成,从而实现多种不同的功能;

类视图

C++设计模式之模板方法模式怎么实现

实现

classLunch{public:Lunch(){}virtual~Lunch(){}voidfeed(){cooking();eating();cleaning();}virtualvoidcooking()=0;virtualvoideating(){cout<<"Iameating,Pleasedon'tdisturbme\n";}virtualvoidcleaning();};classMCMeal:publicLunch{public:MCMeal(){}virtual~MCMeal(){}voidcooking(){cout<<"IamcookingMcMeal\n";}voidcleaning(){cout<<"IamcleaningMcplates";}};classKFCMeal:publicLunch{public:KFCMeal(){}virtual~KFCMeal(){}voidcooking(){cout<<"IamcookingKFCMeal\n";}voideating{cout<<"KFCMealisgood\n";}voidcleaning(){cout<<"IamcleaningKFCplatesandcups\n";}};intmain(){Lunch*meal1=newMcMeal();meal1.feed();Lunch*meal2=newKFCMeal();meal2.feed();}

应用场景

  • 当一个算法功能需要能够改变,并通过在子类中对功能重写来实现这种变化;

  • 当算法能够实现统一步骤,并且可以划分不变部分和可变部分,将可变互粉在子类中实现算法不同的变化;

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:C++设计模式之模板方法模式怎么实现的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:C++设计模式之迭代器模式怎么实现下一篇:

11 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18