-
22-08-2019 - |
题
我有3类在不同的文件:
X
|
-------
| |
Y Z
我将创建继承的类Y和Z的多个对象。
类Z A特定功能应该仅当一些的标志强>变量由Y级设置来执行。
我应该在哪里创建这个标志变量(类)应该是什么的声明是这样的(静态/ EXTERN)?
解决方案
考虑模板方法作为臭名昭著标志的替代品。
其他提示
在标记应该是在Z,如果它是仅由真实它实现ž。但是,整个事情的气味 - 标志是由类,而不是实例设置。使用多态而不是标志,其中实际的。
我认为这是一个怪异设计;您将创建继承类之间的依赖关系。
的方法(和标志变量)应该是在父类中X
(编辑) 细化/替换一下我上面写的, 变量可以是在基类时,Y类将设置变量(设置器)和Z类将有这将“获取”从基类中的值的方法。
最佳答案:什么安东Gogolev说,使用的模板
(否则使用私有枚举变量使用例如:的GetType(),它返回type.x / type.y等)
如果你有两个Y对象,只有一个具有标志设置?你哪三个Z的对象会受到影响?这个问题表明你的设计是有缺陷的。
不隶属于 StackOverflow