gpt4 book ai didi

.net - 将 .net 对象的类更改为子类

转载 作者:行者123 更新时间:2023-12-02 02:08:42 25 4
gpt4 key购买 nike

我有一个 OO 设计问题。

我正在使用工厂模式创建适合我传递给工厂的参数的类的对象。但是,有些属性只能在创建对象后才能获得,然后我想将其用于进一步子类化或“专门化”对象类型。

我需要多态性的子类,以便为具有附加输入参数的对象使用自定义逻辑。

我认为这是某种设计模式“在运行时重新确定对象类”。我该如何实现?哦,这可能是不好的做法?

最佳答案

您不能在运行时更改对象类型。如果你有基类的实例,那么它将保持基类类型。但是您可以在运行时创建新对象。使用组合而不是继承。

即而不是从您的基类继承,创建另一个对象层次结构 - 提取到新类(不是从您的基类继承)代码,这些代码在您的基类创建后发生变化。这可能是某种策略。然后在运行时为您的基础对象提供不同的策略实现(即“专门化”基类实例)。

关于.net - 将 .net 对象的类更改为子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com