c++ - 如何将现有类重构为多态的?

标签 c++ class oop polymorphism

我有一个类在我的项目的很多地方都被用作成员。 现在,我想要一个多态而不是这个类,实际对象将由某种工厂创建。

我必须在以下两者之间做出选择:

  1. 必须更改我使用该类的所有地方 - 调用工厂并使用指针而不是直接使用对象。
  2. 将类更改为包装器,这将调用我将创建的新多态类的函数。

我应该更好地选择哪种策略?

最佳答案

把我用类调用工厂的地方都改成直接用指针代替对象

这样最好。起初看起来很痛苦,但它比实现包装器更干净且可扩展,因为您不想搜索 new MyClass(

一旦你用new列出了所有的地方,你就会发现这并不是一件很糟糕的工作。

关于c++ - 如何将现有类重构为多态的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3139814/

相关文章:

c++ - 如何在 C++ 中初始化类中的私有(private)变量?

c++ - 根据ID值选择正确的派生类

c++ - 尝试传递一个 constexpr lambda 并使用它来显式指定返回类型

c++ - 如何更改 QGraphicsItem 对象的颜色?

python - 如何检查矩阵是否稀疏

c++ - 从方法返回内部类时出错(C++)

Java:从 JAR 文件中的类文件中获取方法 stub 的简单方法?反射?

java - 多态性和树结构

database - 设计通用的数据库实用程序类

javascript - ExtJs 缩小被忽略