C++模板類似的功能在我的節目,我有下面的類層次結構:需要在Java中
public abstract class Effect
{
// ...
}
public class Effect1 extends Effect
{
public static final NAME = "blah blah 1";
// ...
}
public class Effect2 extends Effect
{
public static final NAME = "blah blah 2";
// ...
}
(更多EffectN類具有完全不同的實現)。後來,我得到了使用這些EffectN的班別家:
public abstract class EffectList
{
protected Effect mEffect;
// ...
}
public class EffectList1 extends EffectList
{
public static final N = Effect1.NAME;
public EffectList1
{
mEffect = new Effect1();
}
// ...
}
public class EffectList2 extends EffectList
{
public static final N = Effect2.NAME;
public EffectList2
{
mEffect = new Effect2();
}
// ...
}
(更多的EffectListN類,每個EffectN)。現在,雖然EffectN的確有非常不同的實現,但所有EffectListN都(幾乎)相同 - 它們之間的唯一區別如上所示。
現在,如果使用C++,所有EffectListN類都可以通過1個模板輕鬆生成,但AFAIK(對於Java來說相當新穎),Java泛型無法完成這項工作。
有什麼建議嗎?
是[這個問題](http://stackoverflow.com/questions/1854335/how-to-create-a-java-class-similar-to-a-c-template-class)有關嗎? – jdv