Linux C++ 053-设计模式之模板方法模式
Linux C++ 053-设计模式之模板方法模式
本节关键字:Linux、C++、设计模式、模板方法模式
(图片来源网络,侵删)
相关库函数:
概念
模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤。在软件工程中,它是一种软件设计模式,和C++模板没有关连。
使用场景
模板方法模式多用在:
1、某些类别的算法中,实做了相同的方法,造成程式码的重复。
2、控制子类别必须遵守的一些事项。
代码示例
// 将不变的代码都移到父类中,将可变的方法用virture留到子类中重写 // 需要重写的方法都放在了protected关键字下 // 父类中无需重写的方法来调用需要重写的方法 // 客户端只需访问类中无需重写的方法 class Computer { public: void product() { installCPU(); installRAM(); installGraphicsCard(); } private: virtual void installCPU() = 0; virtual void installRAM() = 0; virtual void installGraphicsCard() = 0; }; class ComputerA : public Computer { protected: void installCPU() override { cout cout cout protected: void installCPU() override { cout cout cout ComputerB* c1 = new ComputerB(); c1-product(); c1 = NULL; return 0; } /* 运行结果: ComputerB install Inter Core i7 ComputerB install 4G Ram ComputerB install Gtx960 GraphicsCard */
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。