Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Композиция. Предположим, что одним из требований к нашей системе является требование о том, чтоб хранить данные о прежней занимаемой должности на предприятии ⇐ ПредыдущаяСтр 4 из 4
Данные о прошлых занимаемых должностях являются частью данных о сотруднике, таким образом между ними связь целое-часть и в то же время, данные о прошлых должностях не могут существовать без объекта типа «Employee». Уничтожение объекта «Employee» должно привести к уничтожению объектов «pastPosition». Класс «PastPosition»: private class PastPosition{ private String name; private Department department; public PastPosition(String position, Department dep){ name = position; department = dep; } public void setName(String newName){ name = newName; } public String getName(){ return name; } public void setDepartment(Department d){ department = d; } public Department getDepartment(){ return department; }}
...private Set pastPosition = new HashSet();...public void setPastPosition(PastPosition p){ pastPosition.add(p); }public Set getPastPosition(){ return pastPosition; }public void deletePastPosition(PastPosition p){ pastPosition.remove(p); }...
Применение: // изменяем должностьsysEngineer.setPosition(" Сторож"); // смотрим ранее занимаемые должности: System.out.println(" В прошлом работал как: "); Iterator iter = sysEngineer.getPastPosition().iterator(); while(iter.hasNext()){ System.out.println(((PastPosition) iter.next()).getName()); }
|