2014-01-16 5 views
0

У меня есть 2 bean classes- Country & city. Мне нужно сохранить список городов в классе Country. Кроме того, когда я устанавливаю информацию о городе, мне нужно указать название страны, поэтому вам нужна страна внутри класса города. Как это сделать? Ниже приведены коды:Как создать список в обоих классах моделей друг у друга

Country.java

public class Country { 

private String name; 
private String about; 
ArrayList<City> cities; 

public Country() 
{ 
    cities = new ArrayList<City>(); 
} 

public Country(String name, String about) 
{ 
    this.name= name; 
    this.about = about; 
} 


public int getNoOfCities() 
{ 
    return cities.size(); 
} 


public long getNoOfCitizens() 
{ Long aPop= 0L; 
    //Long aPopulation = cities.get 
    for(City aCity: cities) 
    { 
     aPop += aCity.getPopulation(); 
    } 
    return aPop; 
} 



public String getName(){ 
    return name; 

} 
public String getAbout(){ 
    return about; 
} 
} 

City.java

public class City { 

    private String name; 
    private String about; 
    private Long population; 

    public City(String name, String about, Long population) 
    { 
     this.name= name; 
     this.name = about; 
     this.population = population; 


    } 
    public String getName(){ 
     return name; 

    } 
    public String getAbout(){ 
     return about; 

    } 
    public Long getPopulation(){ 
     return population; 
    } 
} 

Как я могу решить эту проблему? Кто-то сказал мне что-то вроде ViewObject, но не знаю, что это такое или его решение. Помоги мне :-)

Страна ввода/детали UI 1. Имя (запись) 2. О (Вход) 3. Список всех стран 4. Для каждой страны в ListView - подробности UI (Подробнее UI), который будет иметь: 4.1. Название 4.2 Количество городов под эту страну 4.3. Численность населения в этой стране (которая будет сумма всего населения города по стране)

Город входа UI 1. Имя (запись) 2. О (Вход) 3. Население (запись) 4. Страна (выпадающее)

ответ

0

Я не уверен, что я прекрасно понимаю вопрос, но самый простой, что я могу вспомнить, добавив ссылку на деревни в город. Если вы думаете об этом, это имеет смысл - каждый Город находится в Стране, поэтому быть не может иметь город без страны.

public class City { 

private String name; 
private String about; 
private Long population; 
private Country country; 

public City(String name, String about, Long population, Country country) 
{ 
    this.name= name; 
    this.name = about; 
    this.population = population; 
    this.country=country; 
    country.addCity(this); 
} 
+0

У меня уже есть список городов внутри страны. И я слышал, что его плохая концепция в oop использовать обратную ссылку обратно в другой класс (например, в справочной системе страны в city.java) –

+0

Пожалуйста, объясните это предложение «когда я устанавливаю информацию города, мне нужно указать название страны ». Где? Вы хотите установить название страны в поле города? – NeplatnyUdaj

0

Вы можете использовать модельный заводской класс. Они могут использоваться для заполнения и создания модели для контроллера. например:

public class CountryModelFactory { 

    public static Country populateCountryModel() { 
     // code to populate the Country model. 
     // then return the Country model. 
    } 
} 

Преимущества использования типа Модель Фабрики класса является то, что вы можете отделить модель от контроллера через среду, которая затем может заселить ряд аналогичной модели в зависимости от запроса.

Смежные вопросы