向现有类/构造函数添加新变量



我正在为大学做一个项目(Java,不是高级的!),我们有一个微型铁路,我们正在为它做软件部分。

我有一个技术问题。

所有的类,方法,ecc都已经完成了,我们所需要做的就是创建一个扩展。

Mine是一个GUI,允许您从铁路中删除或添加火车。

例如,对于添加火车,我有一个包含可能参数的组合框和一个"ADD train"按钮,后面的代码是:
private void addTrainActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //creates a new train with given parameters, it adds it to the railway
        Train t = new Train(id, locomotive);
        railway.getTrains().add(t);

我仍然怀念的是"REMOVE A TRAIN"部分的代码!

有一个组合框显示现有的列车,你选择一个,然后有一个DELETE train按钮,它应该从铁路上删除列车,

现在代码简单如下:

private void removeTrainActionPerformed(java.awt.event.ActionEvent evt) {                                            

        railway.getTrains().remove(selectedTrain);

但是有一个问题。有一些观察者,铁路搜索事件(比如火车停了,或者不在正确的路线上),如果事件发生,这些事件将被触发。

教授说,我写的Remove Train代码不工作,因为我们需要杀死所有相关的观察者为我们想要删除的火车!

他说:

我的建议是在列车中有一个"isDeleted"变量。当您删除火车时,将其从铁路上移除,并设置变量为1。例如,在"OnRouteSecured Observer"中,如果isDeleted==true,不做任何事情(返回)。

所以这就是我需要添加的,但问题是,我真的不知道如何添加一个新的变量到火车!!

对于创建列车,我只是使用已经存在的构造函数,我不知道是否必须将这个变量添加到train类或在哪里!

如果你需要更多的信息,我将提供!

希望你能帮忙,谢谢!

听起来你的老师建议的只是给你的对象添加一个class变量。

public class Train {
    private boolean deleted = false;
    public boolean isDeleted() {
        return this.deleted;
    }
}

在未来,我会先和你的助教或教授谈谈,然后再在StackOverflow上发帖,因为你去大学是有原因的

相关内容

  • 没有找到相关文章

最新更新