我有一個abstract class
裝載機:Java抽象變量(超使用子類的字符串)
public abstract class Loader
{
private String EXTENSION = ".xxx";
private String dir;
public abstract Object load(String file);
public abstract List<?> loadList(String file, int number);
public Loader(String dir)
{
this.dir = dir.replace("\\", "/") + "/";;
}
public String formatName(String name)
{
return dir + name + EXTENSION;
}
}
它的子類應該可以改擴建
public class MidiLoader extends Loader
{
private String EXTENSION = ".mid";
public MidiLoader(String dir)
{
super(dir);
}
public MidiLoader()
{
super(Constants.SOUNDDIR);
}
@Override
public Sequence load(String file)
{
blah
}
public List<Sequence> loadList(String file, int number)
{
blah
}
}
擴展名「.MID」應使用由Loader
的formatName
功能。我怎樣才能做到這一點(沒有重複的代碼)?
謝謝。
我不是這種方法的巨大粉絲,但我認爲它就足夠了。 – 2013-05-12 21:19:13