派生类是否可以在抽象工厂设计模式中具有数据成员
Can derived class have a data member in abstract factory design pattern
我是C++的新手,我有以下疑问。在抽象工厂模式中,can派生类有自己的数据成员。例如,
class AbstractBaseclass
{
public:
virtual void somemethod() = 0;
}
class derived1: public AbstractBaseclass
{
public:
void somemethod()
{
.......
}
}
class derived2: public AbstractBaseclass
{
public:
int dataMember; ------------------> Is this correct?
void somemethod()
{
.......
}
}
class factory
{
public:
static AbstractBaseclass *createObject(int type)
{
<code to create object based on the passed type>
}
}
在我的案例中,我有许多派生类。只是在这里提供布局。我的疑问是:类derived2中是否可能有一个数据成员?并像低于一样处理它
factory *fObj = new factory();
AbstractBaseclass *baseObj = fObj->createObject(2);
baseObj.dataMember = 3;
派生类可以以方法或变量的形式具有其他成员。
至于通过指向基类的指针访问dataMember,这是不允许的,因为dataMember变量不在基类的范围内。
相关文章:
- 派生类是否可以在抽象工厂设计模式中具有数据成员
- 使用C++模板的数据映射器设计模式
- 从对象成员函数内部删除操作的技术 /设计模式
- 处理数据包的设计模式
- c++设计:从基类强制转换为派生类,没有额外的数据成员
- 是否有自定义内存分配器设计模式不在其分配中存储元数据
- 什么设计模式将数据部分保存在持久存储 (SQL) 中,部分保存在 RAM(内存)中
- 数据交换的设计模式
- 如何在工厂设计模式中设置派生产品类的数据成员
- 关于纯抽象类中的静态成员函数-设计模式
- 具有继承的桥接设计模式,其中抽象基类具有成员数据
- c++中多模型数据分析的设计模式
- 保护数据设计模式
- 临时数据成员的寿命延长和 API 设计
- 是否存在用于在子类的数据上实施规则的设计模式
- 设计模式-用于简单静态数据的C++架构
- c++ OOP 设计 - 将数据成员传递给其他类 - 是否合理
- 多态数据转换/转换设计模式
- 状态设计模式 - 不想删除成员类中的此指针
- 设计模式- c++运行时成员参数的实例化