gpt4 book ai didi

java - 在这种情况下可以使用继承吗? ( java )

转载 作者:行者123 更新时间:2023-11-30 05:12:45 25 4
gpt4 key购买 nike

我有 ClassA 和 ClassB,其中 ClassA 是父类(super class)。

ClassA 使用 NodeA,ClassB 使用 NodeB。

第一个问题:方法参数。 ClassB 需要 NodeB 类型,但我无法从子类转换为父类(super class)。这意味着我无法设置 NodeB 特有的属性。

第二个问题:当我需要向ClassB添加节点时,我必须实例化一个新的NodeB。但是,我无法在父类(super class)中执行此操作,因此我必须重写插入以使用 NodeB。

有办法解决这个问题还是我必须重写整个事情?

最佳答案

我认为,解决你的困境的最佳解决方案是使用泛型:将通用代码放入一个(可能是抽象的)通用父类(super class)中,该父类(super class)由 NodeType 参数化。 。 A和B中的每一个都可以分别子类化CommonSuper<NodeA>CommonSuper<NodeB> ,并在需要执行特定于其单个节点类型的操作时覆盖。这样,您的代码中就会很少有重复,但仍能够完成您需要的所有工作。

关于java - 在这种情况下可以使用继承吗? ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2807910/

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