C++设计模式——原型模式实践
原型模式(Prototype Pattern)是一种创建型设计模式,它通过复制现有对象的实例来创建新的对象实例。该模式在处理大量具有相似或相同状态的对象时非常有用,因为它可以避免昂贵的初始化操作。
在C++中使用原型模式,我们需要先实现一个基类,然后通过继承该类来创建其他类。这些子类都具有父类的所有属性和方法,并且可以根据需要进行修改和扩展。
下面是一个使用原型模式创建汽车对象的示例代码:
#include <iostream>
#include <string>
using namespace std;
// 抽象基类,定义接口
class CarPrototype {
public:
virtual CarPrototype* clone() = 0; // 复制自身的接口
virtual void showInfo() = 0; // 展示车辆信息的接口
};
// 具体实现类,对应不同类型汽车
class SUV : public CarPrototype {
public:
CarPrototype* clone() {
return new SUV(*this);
}
void showInfo() {
cout << "SUV: 宽体高顶,适合越野和家庭出行" << endl;
}
};
class SportsCar : public CarPrototype {
public:
CarPrototype* clone() {
re
本文介绍了C++中的原型模式,这是一种创建型设计模式,通过复制已有对象实例创建新对象,尤其适用于大量相似对象的场景。文章通过汽车对象为例,详细阐述了如何定义抽象基类和具体实现类,以及如何利用复制方法快速创建新对象,从而提高代码效率并避免资源浪费。
订阅专栏 解锁全文
2101

被折叠的 条评论
为什么被折叠?



