N-арная ассоциация
Теперь попробуем отразить это в коде. Новый класс Room: public class Room{ private int number; public Room(int n){ number = n; } public void setNumber(int newNumber){ number = newNumber; } public int getNumber(){ return number; }}
Добавим в класс Employee поле и методы для работы с Room: ...private Set room = new HashSet();...public void setRoom(Room newRoom){ room.add(newRoom);}public Set getRoom(){ return room;}public void deleteRoom(Room r){ room.remove(r);}...
Пример использования: public static void main(String[] args){ Employee sysEngineer = new Employee("John", "Connor", "Manager"); IdCard card = new IdCard(123); card.setDateExpire(new SimpleDateFormat("yyyy-MM-dd").parse("2015-12-31")); sysEngineer.setIdCard(card); Room room101 = new Room(101); Room room321 = new Room(321); sysEngineer.setRoom(room101); sysEngineer.setRoom(room321); System.out.println(sysEngineer.getName() +" работает в должности "+ sysEngineer.getPosition()); System.out.println("Удостовирение действует до " + sysEngineer.getIdCard().getDateExpire()); System.out.println("Может находиться в помещеньях:"); Iterator iter = sysEngineer.getRoom().iterator(); while(iter.hasNext()){ System.out.println(((Room) iter.next()).getNumber()); }}
|