gpt4 book ai didi

java - 在java中使用对象函数

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:34:58 26 4
gpt4 key购买 nike

我正在尝试用 Java 实现函数对象。我有一个 Unit 类,它有一个默认的加法函数,应该在 Unit 对象的大多数初始化中使用。但是,对于某些问题,我需要一个不同的加法函数。代码看起来像这样:

public class Unit() {
public Unit(unitType) {
if (unitType == "specialType") {
additionFunc = defaultFunc } else {
additionFunc = specialFunc }
}
}
public int swim() {
return additionFunc()
}
// definiion of regularFunc
// definition of specialFunc

}

然后,从主文件:

Unit fish = new Unit(regularTyoe);
Unit fatFish = new Unit(specialType);
fish.swim(); //regular function is called
fatFish.swim(); //special function is called

就是这样......有谁知道如何做到这一点?

最佳答案

你需要查找inheritancemethod overriding .阅读适当的面向对象编程也可能会有所帮助。

正确的做法是:

class Fish {
public void swim() {
// normal swim
}
}

class FatFish extends Fish {
@Override
public void swim() {
// special swim
}
}

Fish fish = new Fish()
Fish fatFish = new FatFish()
fish.swim() // normal swim
fatFish.swim() // slow swim

关于java - 在java中使用对象函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11724575/

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