我有两节课, 地图和地点
地图类:
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(){
}
}
Map有方法设置(setStartPLace(Place p))和get(放置getStartPLace())起始位置(Place类型对象) 所以我在Map类中为起始位置保留了一个“Place”类型的变量。并根据需要设置并返回。
但是在给定的规范中,Place类中还有一个名为isStartPlace()的方法。 如果该地点是Map对象中的Start位置,则应该返回true。
如何混淆我应该如何调用Map类来获取此信息并与调用它的place对象进行比较。
Place对象有一个名为“name”的字符串proerty,我可以用来比较这两个对象,我只是不知道如何将当前位置对象引用到Map类'getStartPlace()方法返回的Place对象。 / p>
答案 0 :(得分: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);
}
...
}