gpt4 book ai didi

java - 创建后根据条件将对象传播到子类

转载 作者:行者123 更新时间:2023-12-01 15:06:52 24 4
gpt4 key购买 nike

我知道工厂方法是一种适合创建对象的设计模式,而客户端不需要知道该对象需要是哪个具体类。但这假设工厂在创建对象之前知道标准

但是,我的情况有点不同。我需要在父类(super class)或通常是抽象类中创建一个对象。一旦构造了对象(并且只有那时),就可以应用逻辑来确定它可以属于哪个类别,即子类。

想象一下,您是一家大公司,正在从大学招聘人才。 children 并不真正知道他们想做什么,训练后你会为他们分配职位。所以一开始有人是 Employee然后六个月后,它们演变成 Programmer , QA , Analyst等等,取决于他们的喜好。所以我需要传播 Employee创建后的类进入 Programmer , QA , Analyst等等,然后每个将继续是 Employee而且每个都有自己独特的属性。启动后,它们都只是 Employee ,所以 Employee 不能是抽象的。

我正在考虑有一个返回子类的子类创建方法,但这意味着有两个实例,最初的父类(super class)和最后我想要的子类,此时我不再需要父类(super class)。我知道我可以将父对象设置为 null 并在创建子类后对其进行 GC,但我想知道是否有更优雅的方法来执行此操作,即设计模式。

最佳答案

Once the object is constructed (AND ONLY THEN), logic can be applied to determine which category it can belong to, i.e. the subclass.

这根本不会发生。与您的类比不同,Java 中的对象在其生命周期内永远不会改变类型。

如果您能具体解释为什么您认为您需要这个,我们也许可以提供帮助 - 但我怀疑它或者都会归结为构图>或者它将是一个工厂类,工厂将首先进行一些处理,并将处理结果传递给适当的子类构造函数以避免必须重新计算数据。

关于java - 创建后根据条件将对象传播到子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12849400/

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