抽象工厂:篮球厂 制造 ( 篮球和篮球衣)

一个工厂能制造2种产品,示意图

class AbstractBall{
public:
// 抽象方法
virtual productball()=0;
};
//篮球
class Basketball : public AbstractBall{
public:
productball()
{
qDebug() << "制造篮球";
}
};
//足球
class Football : public AbstractBall{
public:
productball()
{
qDebug() << "制造足球";
}
};
抽象衣服:
class AbstractShirt{
public:
virtual void productShirt()=0;
};
class BasketballShirt : public AbstractShirt{
public:
void productShirt()
{
qDebug() << "制造篮球衣服\n";
}
};
抽象工厂:
class AbstractFactory{
public:
virtual AbstractBall *getBall() = 0;
virtual AbstractShirt *getShirt() = 0;
};
//篮球厂
class BasketballFactory : public AbstractFactory{
public:
BasketballFactory()
{
qDebug ()<< "创建篮球工厂\n";
}
//制造一个篮球
AbstractBall *getBall()
{
qDebug ()<< "篮球厂制造一个篮球\n";
return new Basketball();
}
//制造一件T恤
AbstractShirt *getShirt()
{
qDebug() << "篮球厂制造一件篮球衣服\n";
return new BasketballShirt();
}
};
结果
void main()
{
AbstractBall *b = nullptr;
AbstractShirt *s = nullptr;
AbstractFactory *f = nullptr;
f = new BasketballFactory();
f->getBall();
f->getShirt();
}

1309

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



