class Presenter { private MapLongitude mapLongitude; private Longitude longitude; private MapLatitude mapLatitude; private Latitude latitude; private boolean autoUpdateEnabled; public Presenter(MapLongitude mapLong, Longitude longi, MapLatitude mapLat, Latitude lati) { this.mapLongitude = mapLong; this.longitude = longi; this.mapLatitude = mapLat; this.latitude = lati; this.autoUpdateEnabled = true; // デフォルトでは自動更新をONに } public void updateGPS(double lat, double lon) { // LongitudeとLatitudeの状態を更新 longitude.updateGPS(lat, lon); latitude.updateGPS(lat, lon); // MapLongitudeとMapLatitudeの状態を条件に応じて更新 if (autoUpdateEnabled) { mapLongitude.updateLongitude(lon); mapLatitude.updateLatitude(lat); } } public void setAutoUpdateEnabled(boolean autoUpdate) { this.autoUpdateEnabled = autoUpdate; } }