我目前正在开发一个带有的菜单结构 主类,Menu类和MenuEntry类。
Menu类是抽象的,但只有一个抽象方法。 MenuEntry也有一个抽象方法。
Main类有" shutdown"," pushState"等方法。 " popState"等
在Menu / MenuEntry的instatiation中从主类调用shutDown()是否正常/常用?
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();
}
但它看起来确实很丑陋。
答案 0 :(得分:0)
如果您想重用shutDown
或start
中的代码,这非常好,
但是不要期望在这些方法中有Menu或MenuEntity的内部状态(这些方法可以访问Main
类的状态),除非你传递对这些方法的引用。
除此之外,在我看来这很好。但这取决于你想做什么,