我编写了一个包含高级模式和初学者模式的程序,以允许用户在实际使用之前获取程序的挂起.高级模式几乎与初学者模式相同,除了一个或两个需要被另一个方法替换的方法,因此我决定为高级模式和初学者模式类创建一个通用的模式类,而不仅仅是应对代码:这里如果我的解释不是很清楚,那就是类结构:
GUI类
一般模式类
初学者模式
高级模式
假设General Mode类具有以下代码:
public class GeneralMode { private int range; private String id; public GeneralMode() { } public int getRange() { return range; } public String getID() { return id; } public void doStuff() { } }
GeneralMode类是程序完成所有工作的地方.现在,我想这样做,以便Advanced Mode类可以从GUI类获取输入并以与GeneralMode类相同的方式使用它.
谢谢你的帮助!
使用抽象方法创建'GeneralMode'类,这是一个抽象方法,必须由具体的'高级'和'初学者'类实现.两种模式共有的功能可以在'GeneralMode'类中实现.
然后,在GUI类中,实例化正确的具体类,并将其放在"GeneralMode"变量中.然后,您可以使用它,而无需知道您的程序是在初学者模式还是在高级模式下运行.
伪代码:
GeneralMode mode = (UseAdvancedMode == true)? new AdvancedMode() : new BeginnerMode();