我的屏幕看起来像这样: click here to see image
这是基于以下代码:
function [X,Y] = linE(x1,y1,x2,y2,d)
m = abs((y2-y1)/(x2-x1));
theta = atand(m);
X = x1+cumsum(d)*cosd(theta);
Y = y1+cumsum(d)*sind(theta);
我想要做的是让用户点击他们想要使用的电源(屏幕底部出现的电源说明及屏幕顶部的当前选择)。然后能够点击“下一步”,他们可以选择他们的第二个加电,然后他们的第三个加电。每次选择上电时,选择再次上电的选项应该消失(意味着上电的图片应该消失)。他们也应该能够点击“返回”以重新选择之前的电源。
我现在通过三个不同的类来处理每个电源来实现这一目标。除了int选项之外,其他两个看起来与此类似(数字必须不同,因此它知道正在选择哪个加电)。因此,存在大量冗余并占用空间。我觉得这应该都能在一堂课上完成。我怎么能这样做呢?
答案 0 :(得分:0)
除了int选项之外,其他两个看起来与此类似(数字必须不同,因此它知道正在选择哪个加电)。
你有几个选择。
一种方法是参数化" int选项"作为创建类时设置的内容,类通常引用它。
public class PowerupHandler {
private int choice;
public PowerupHandler(int choice) {
this.choice = choice;
}
}
另一种方法是创建一个执行相同操作的abstract
类,但是子类只是在构造函数中设置数字而没有任何干预
public abstract class PowerupHandlerAbstract {
private int choice;
public PowerupHandlerAbstract(int choice) {
this.choice = choice;
}
}
...
public class PowerupHandlerTypeOne extends PowerupHandlerAbstract {
public PowerupHandlerTypeOne() {
super(3);
}
}
我个人的偏好(当然取决于设置)将是抽象的路线,因为它对略读读者更有意义