我想在Java中實現函數對象。我有一個Unit類,它有一個默認的附加函數,應該在Unit對象的大多數初始化中使用。但是,對於一些問題,我需要一個不同的附加功能。該代碼將是這個樣子:使用java中的對象功能
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
就是這樣..沒有人知道如何可以做到這一點?
所有這些答案都讓我感覺不到比以往:) 這似乎是最接近我所需要的,謝謝! – 2012-07-30 16:11:33