桥接模式:用聚合模拟继承。
#include <iostream>
using namespace std;
class AbstractFunction
{
public:
virtual void nameFunction() = 0;
virtual void dosth() = 0;
};
class Call: public AbstractFunction
{
public:
void nameFunction()
{
cout<<"call name:"<<endl;
}
void dosth()
{
cout<<"call do:"<<endl;
}
};
class Game:public AbstractFunction
{
public:
void nameFunction()
{
cout<<"game name:"<<endl;
}
void dosth()
{
cout<<"game do:"<<endl;
}
};
class AbstractPhone
{
public:
virtual void name() = 0;
virtual void factory() = 0;
};
class AnycallPhone : public AbstractPhone
{
public:
AbstractFunction* func;
void name()
{
cout<<"AnycallPhone"<<endl;
}
void factory()
{
cout<<"sumsang"<<endl;
}
void print()
{
name();
factory();
func->dosth();
func->nameFunction();
}
};
void main()
{
AnycallPhone anyphone;
AbstractFunction *pc=new Call(); //多态
anyphone.func=pc;
anyphone.print();
delete pc;
}
本文通过一个具体的C++实现示例,介绍了桥接模式的基本概念及其如何通过聚合来模拟继承,以此减少类的数量并提高系统的可扩展性。
813

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



