저는 대학을위한 프로젝트를 진행하고 있습니다 (Java는 고급 버전이 아닙니다!), 우리는 소형 철도를 가지고 있으며이를 위해 소프트웨어 부분을 수행하고 있습니다.기존 클래스/생성자에 새 변수 추가하기
기술적 인 질문이 있습니다.
모든 classe, methods, ecc가 이미 완료되었으므로 확장 프로그램을 만드는 것뿐입니다.
광산은 철도에서 열차를 제거하거나 추가 할 수있는 GUI입니다.
예를 들어, 기차를 추가 나는 possibile 매개 변수 콤보 상자를, 그리고 버튼 "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 기차 버튼이, 하나를 선택하고, 이제 코드, 철도에서
을 기차를 제거해야이된다 :
private void removeTrainActionPerformed(java.awt.event.ActionEvent evt) {
railway.getTrains().remove(selectedTrain);
하지만 문제가 있습니다. 이벤트가 발생하면 트리거되는 이벤트 (예 : 열차가 중지되었거나 올바른 경로가 아닌 것처럼)를 검색하는 철도를 추적하는 일부 관찰자가 있습니다.
교수는 우리가 쓴 열차 코드 제거는 작동하지 않습니다. 왜냐하면 우리가 제거하고 싶은 열차에 대한 모든 관련 관찰자를 죽일 필요가 있기 때문입니다!
그는 말했다 :은 내가 제안하는 것은 기차에서 "isDeleted를"변수를하는 것입니다. 열차를 삭제할 때 철도에서 열차를 제거하고 변수를 1로 설정하십시오. 예를 들어, "OnRouteSecured Observer"의 과정에서 isDeleted == true 인 경우 아무 것도 수행하지 않고 반환하십시오.
그래서 내가 추가해야 할 것이지만, 문제는 열차에 새 변수를 추가하는 방법을 모른다는 것입니다 !!
기차를 만들려면 이미 생성자를 사용하고 있습니다. 잘 모르겠습니다.이 변수를 기차 클래스에 추가해야하는지, 아니면 어디에 추가해야합니까?
더 많은 정보가 필요하면 알려드립니다.
희망을 보내 주시면 감사하겠습니다.
전에 프로그래밍 해 본 적이 있습니까? (위반하지 말 것) –
선생님이 틀립니다. 우선, 사실 대신 1을 사용하는 것은 나쁜 조언입니다. 둘째, 제거 된 열차에서 관측자를 제거하는 것은 어떤 목적에도 도움이되지 않습니다. 열차가 제거 된 이후 더 이상 eny 이벤트를 발생시키지 않습니다. 더 이상 연결할 수없는 경우 쓰레기 수거됩니다.제거 된 열차가 다른 물체의 관찰자로 등록되었지만 문제는 사용자가 설명하는 것이 아닙니다. –