我有5个命名的类A B C D E
和2个接口I1 I2
。使用多重继承,我可以继承抽象类来实现接口:
class A : public I1, I2 {};
现在,我想添加更多接口I3 I4 I5
。
必须修改所有5个类定义是乏味的,并且违反Don't Repeat Yourself
了编程原则。
如何实现接口代理类来封装接口的多态性,而不是抽象基类的多重继承?
换句话说,我希望在不使用继承的情况下将一个类强制转换为接口类。这里是否适合使用类型运算符重载?或者,也许每个类都使用构造函数会很好?目标是最大程度地减少代码重复。
我看到此问题如下:
因此,每个文档A,B,C ...都需要实现这些标记,以便提供这些功能。
如果我正确地描述了您的要求,那么您可以使用Design Pattern:Visitor。
另外,如果适合您,我可以详细介绍。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句