gpt4 book ai didi

java - 覆盖同一工具的多个方法

转载 作者:行者123 更新时间:2023-12-01 17:53:05 25 4
gpt4 key购买 nike

我有从基类继承的方法。
我有 5 个类继承该方法并重写它,但做同样的事情,现在我需要根据环境变量更改所有方法以支持其他场景

//specific  implications
@Override
protected boolean prepareDirectory(Configuration configuration, Logger logger) throws Exception

//logic here as before
if(env===“global”) {

//do something
}
}

当然,如果在所有有效的类中我都可以做到这一点,但有更好的方法来克服这个问题。
因为所有 5 个类都应该在 new if 中使用相同的逻辑。

最佳答案

你可以用抽象方法来实现它。类似的东西

abstract class BaseClass {

abstract void basePrepare(Configuration configuration, Logger logger);

protected boolean prepareDirectory(Configuration configuration, Logger logger) throws Exception {
if (/* condition */) {
basePrepare(configuration, logger); // implementing class does his stuff
}
}
}

关于java - 覆盖同一工具的多个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47811897/

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