gpt4 book ai didi

java - 覆盖指定类中的方法

转载 作者:行者123 更新时间:2023-12-02 04:14:28 25 4
gpt4 key购买 nike

我想重写已分配给变量的类中的方法。
例如:

inventory = new Inventory( );

/* Some code here that changes how inventory
must behave or whatever */

inventory
{
@Override ...
}

可能吗???

最佳答案

也许你会想到这样的东西(而不是 null - 如果你可以实现默认策略以使其更干净):

public interface Strategy {

public void doSomething();

}

public class Inventory {

Strategy strategy;

public Inventory() {
// ...
}

public void doSomething() {
if (strategy == null) {
System.out.println("strategy is empty");
} else {
strategy.doSomething();
}
}

public Strategy getStrategy() {
return strategy;
}

public void setStrategy(Strategy strategy) {
this.strategy = strategy;
}

}

然后这个

    Inventory inventory = new Inventory();
inventory.doSomething();
inventory.setStrategy(new Strategy() {

@Override
public void doSomething() {
System.out.println("strategy is now something different");
}

});
inventory.doSomething();

显示:

strategy is empty
strategy is now something different

要获得更详细的版本,您可以查看 strategy pattern .

关于java - 覆盖指定类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33464968/

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