我正在做一個大學項目(Java,不先進!),我們有一條微型鐵路,我們正在爲它做軟件部分。添加一個新的變量到現有的類/構造函數
我有一個技術問題。
所有的類,方法,ecc已經完成了,我們需要做的就是創建一個擴展。
煤礦是一個圖形用戶界面,允許您從鐵路上移除或添加火車。
例如,添加一列火車我與不可能性的參數組合框和「ADD列車」按鈕,後面的代碼是:
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);
我還是很懷念,是對代碼「刪除火車」部分!
有是顯示現有列車的組合框,你選擇一個,然後有一個DELETE培訓按鈕,它應該從鐵路刪除火車,
對於現在的代碼很簡單:
private void removeTrainActionPerformed(java.awt.event.ActionEvent evt) {
railway.getTrains().remove(selectedTrain);
但有一個問題。 有些觀察員認爲,如果事件發生,那麼觸發事件(如火車停止,或不在正確路線)的事件就會被觸發。
這位教授說我寫的刪除列車代碼不起作用,因爲我們需要殺掉我們想要刪除的列車的所有相關觀察者!
他說:
我的建議是在火車上「請將isDeleted」變量。 當您刪除列車時,將其從鐵路上移除,並將 變量設置爲1.例如,在「OnRouteSecured Observer」中,在此過程中,如果 isDeleted == true,則不執行任何操作(返回)。
所以這就是我需要添加的,但問題是,我真的不知道如何添加一個新的變量到火車!
對於創建一列火車我只是使用已經存在的構造函數,我不知道如果我必須將此變量添加到火車類或其中!
如果您需要更多的信息我會提供!
希望你能幫忙,謝謝!
你曾經編程過嗎? (沒有違法) – 2013-05-12 12:11:40
老師是錯的。首先,使用1而不是真是一個不好的建議。其次,從移出的列車中移除觀察者不起任何作用。火車自拆除後不會再發射。如果它不再可用,它甚至會被垃圾收集。將有一個問題是被刪除的列車被註冊爲其他對象的觀察者,但這不是你所描述的。 – 2013-05-12 12:19:22