public class Map { private MapLongitude mapLongitude; private Longitude longitude; private MapLatitude mapLatitude; private Latitude latitude; private Presenter presenter; public Map() { this.mapLongitude = new MapLongitude(); this.longitude = new Longitude(mapLongitude); this.mapLatitude = new MapLatitude(); this.latitude = new Latitude(mapLatitude); // Presenterに依存オブジェクトを渡す this.presenter = new Presenter(mapLongitude, longitude, mapLatitude, latitude); } public double getMapLongitude() { return mapLongitude.getValue(); } public double getLongitude() { return longitude.getValue(); } public void updateGPS(double lat2, double long2) { presenter.updateGPS(lat2, long2); } public double getMapLatitude() { return mapLatitude.getValue(); } public double getLatitude() { return latitude.getValue(); } // 自動更新のON/OFFを切り替えるメソッドをMapクラスに追加 public void setAutoUpdateEnabled(boolean autoUpdate) { presenter.setAutoUpdateEnabled(autoUpdate); } }