您是应该将SFML RenderWindow继承到自定义渲染类中,还是将其作为字段?

时间:2013-02-06 21:21:21

标签: c++ sfml

在Java编写了一段时间并使用Graphics2d后,我想到了使用我在其他语言中学到的东西,比如C ++。我通常使用SFML,并且有一个Render类,以减少其他类对SFML的依赖性(如果我必须切换库,我不需要在不相关的类中切换很多代码)。我想知道我是否应该让这个Render类继承RenderWindow,或者只是将它作为成员。

1 个答案:

答案 0 :(得分:0)

目前经常提出的习语是“构成而不是继承”。根据你对你正在做的事情的模糊描述,实际上不可能给出准确的答案。我假设你在讨论框架和任何图形库之间的简单接口。

在这种情况下,答案非常简单,因为继承会自动更改渲染的API,并且它会因您使用的每个图形库而发生变化,从而无法完成它的整个目的。因此,如果将其用作成员变量,则可以为框架创建稳定的API,并对渲染类范围内的不同库进行所有调整。