正在调用抽象方法中常用的方法吗?
问题描述:
我目前正在开发一个菜单结构,其中包括一个 主类,一个Menu类和一个MenuEntry类。正在调用抽象方法中常用的方法吗?
Menu类是抽象的,但只有一个抽象方法。 MenuEntry也有一个抽象方法。
主类有像“关机”的方法,“pushState的”“popState”等
它是好/通用调用菜单/ MenuEntry的instatiation内关断()从主类?
public class Main
{
public void init()
{
Menu m = new Menu()
{
public void abortAction()
{
shutDown();
}
};
m.addEntry(new MenuEntry()
{
public void activate()
{
start();
}
});
}
public void shutDown()
{
//cleanup etc.
}
public void start()
{
//start here.
}
/*
* other methods
*/
}
public abstract class Menu
{
//...
void addEntry(MenuEntry e)
{
//...
}
public abstract void abortAction();
}
public abstract class MenuEntry
{
//...
public abstract void activate();
}
这多少看起来丑陋,但。
答
如果你想在shutDown
或start
这是完全正常的代码重用,
但是,不要指望有这些方法里面的菜单或MenuEntity的内部状态(这些方法将有机会获得的状态Main
类),除非您传递这些方法的引用。
除此之外,我认为这很好。但这取决于你想做什么,
对你的标题的评论:抽象方法(与'abstract'关键字的方法)没有任何代码(不允许,如果你尝试编译失败),所以你不能做任何事情。 – Andreas
当然,但我不知道如何命名它。 – Raildex