gpt4 book ai didi

java - 确定适当沮丧的最佳方法

转载 作者:行者123 更新时间:2023-12-01 23:45:09 25 4
gpt4 key购买 nike

我有一个名为C的抽象父类(super class)及其多个子类:SubC1,SubC2,...现在我有一个父类(super class)C<的集合 我想迭代它,但根据它是哪个子类做不同的事情。这是伪代码:

abstract class C{}
class SubC1 extends C{}
class SubC2 extends C{}

...

for(C c : cs){
if(c is a SubC1){
//do one thing
}
if(c is a SubC2){
//do another
}
}

但是我不太确定如何设置 if 条件。我的第一个想法是使用 instanceof 但后来我意识到它不适用于向下转型。然后我考虑向 C 添加一个 String 字段,并让每个子类定义它并以此为基础我的条件,但这看起来很笨拙。我还考虑尝试通过强制向下转型并捕获 ClassCastExceptions 来尝试使用消除过程,但这也很笨拙,而且似乎有点危险。那么我怎样才能在不使用愚蠢的代码的情况下获得我想要的东西呢?

编辑:我忘了补充一点,在 C 中添加一个 doSomething() 函数并覆盖它对我来说是没有意义的。

编辑2:出于某种原因,我认为执行c instanceof SubC1会导致编译器错误。现在我意识到我没有答案。

最佳答案

C 中拥有一个抽象方法 doSomething 并在所有子类中重写它,然后调用 C#doSomething

关于java - 确定适当沮丧的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17203654/

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