装饰器【设计模式4】

知识点

装饰器

知识要点

动态地给一个对象添加一些职责。这个对象可以看成是一个类的一个方法,为了给一个对象添加一些职责,需要为这个对象的类设计一个装饰器类,装饰器类和这个对象类都继承于一个虚基类,虚基类中写入需要装饰的对象的方法。然后装饰器类的设计,装饰器类继承于虚基类,同时新增一个虚基类的成员变量和需要装饰的方法,这个需要装饰的方法用虚基类成员变量的指针来指向,而不是继承的虚基类(注意,这里出现了两个虚基类)。然后装饰器的具体的装饰内容,放到装饰器的子类中实现,这个子类同样有一个待装饰的方法,这个待装饰的方法实现中调用装饰器基类的待装饰方法,其他部分就是要装饰的内容。

使用装饰器时,只要在待装饰的类外面套一层装饰器子类,就可以实现对需要装饰的方法的装饰。

用了两个多态,可以。

示例

纯虚函数,不写实现,需要加标记=0

 

链接

https://github.com/xierensong/learngit/blob/master/DPattern/4/1.cpp

你可能感兴趣的:(工作刷题)