gpt4 book ai didi

java - 使用特定数据的哈希集进行多态实现

转载 作者:行者123 更新时间:2023-11-30 03:28:28 24 4
gpt4 key购买 nike

我有一组对象(父对象)。对于特定条件,我想向该对象添加额外的数据。因此,我创建一个从父类扩展的子类,将数据放入子类并将其放回父类集。理论上是有可能的。但这是这样做的好方法吗?请建议我其他更好的方法。

另一种方法是创建一组子代而不是父代。直接将数据传递给child。但我不能这样做,因为父集将转换为 Json,并且所有父对象都不需要多余的字段。

final LinkedHashSet<Parent> parentSet = new LinkedHashSet<Parent>();
parentSet.add(new Parent("AAA"));
parentSet.add(new Parent("ABC"));
parentSet.add(new Parent("DXX"));
parentSet.add(new Parent("GHI"));

final LinkedHashSet<Parent> childSet = new LinkedHashSet<Parent>();
final Iterator<Parent> iterator = parentSet.iterator();
while (iterator.hasNext()) {
final Parent parent = iterator.next();
if (parent.str.startsWith("A")) {
iterator.remove();
childSet.add(new Child(parent.str, 27));
}
}
parentSet.addAll(childSet);

最佳答案

您想要在子级之间共享的数据应放置在父级中。现在你只有一个子类,如果你想出一个 BadChild 类,这个子类应该有这个方法吗?我建议的最佳实践是像现实世界的例子一样思考。

例如,家长是否必须知道 child 的确切高度? child 必须知道 parent 的确切年龄吗?

关于java - 使用特定数据的哈希集进行多态实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29642465/

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