2013-07-05 50 views
0

我有兩個班, 地圖和地點的Java:從類查詢的方法,該方法被稱爲從

地圖類:

public Class Map{ 

private Place startplace; 

public void SetStartPLace(Place p){ 

this.startplace=p; 
} 

public PLace getStartPlace(){ 
return this.startplace; 
} 
} 

地方類:

public class Place{ 

private String placename; 

public void setName(String s){ 
this.placename=s; 
} 

public String getName(){ 
return this.placename; 
} 

public boolean isStartPlace(){ 

} 

} 

地圖有方法來設置(setStartPLace(Place p))和get(Place getStartPLace())作爲開始位置(它是Place類型對象) 所以我保留一個類型爲'Place'的變量來啓動放在Map類中。並根據需要設置並返回它。

但是在給出的說明中,Place類中還有一個名爲isStartPlace()的方法。 如果地點是地圖對象中的開始地點,則返回true。

這種混淆我應該怎麼調用Map類來獲取這個信息,並與它被調用的地方對象進行比較。

Place對象有一個名爲「name」的字符串proerty,我可以用它來比較兩個對象,我只是不知道如何將當前位置對象引用到從Map類getStartPlace()方法返回的Place對象。

+0

咦?你的問題很混亂。也許,如果你將其改寫爲一個明確的,可以理解的問題,答案也可能對你很清楚。 Especailly,請詳細描述你的意思*我應該怎樣調用Map類來獲取這個信息,並與它被調用的地方對象進行比較。* – Bohemian

+0

嗨,我已經編輯了這個問題。現在清楚嗎?我基本上需要知道我應該在Place類的isStartPlace()方法中編碼。 – sanjan

+0

有人可以幫忙投票我的問題。我不能發佈問題了。 :( – sanjan

回答

1

目前,地圖知道開始地點,但地點不知道包含它的地圖。因此,如果您確實需要實施一種方法,例如isStartPlace(),則還必須設置從地點到地圖的關係:

public class Place { 
    private Map containingMap; 
    ... 

    public boolean isSTartPlace() { 
     return this.equals(containingMap.getStartPlace()); 
    } 
} 

public class Map{ 

    public void setStartPlace(Place p) { 
     this.startPlace = p; 
     p.setContainingMap(this); 
    } 
    ... 
} 
+0

很酷。就是我在找的東西。謝謝! – sanjan

+0

+1回答,但主要是爲了理解/解讀問題 – Bohemian