рдкрд░рд┐рдЪрдп
рдпреВрдПрдордПрд▓ рд╡рд░реНрдЧ рдЖрд░реЗрдЦ рдЖрдкрдХреЛ рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡реЗ рдХрд┐рд╕ рд▓рд┐рдП рд╣реИрдВ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдЖрд╡реЗрджрди рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рд░рд┐рд╢реНрддреЗ рдХреЛрдб рдореЗрдВ рдХреИрд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ? рдпрд╣ рдЫреЛрдЯрд╛ рд╕рд╛ рдЕрдзреНрдпрдпрди рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ - рдЗрди рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рдХреЛрдб рдореЗрдВ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдХрд┐ рдпреВрдПрдордПрд▓ рдореЗрдВ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд░рд┐рд╢реНрддреЛрдВ рдХреА рдХрд┐рд╕реНрдореЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЖрд░реЗрдЦ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛:
рдЕрдВрдЬреАрд░ред 1 - рд╡рд░реНрдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз
рд╕рдВрдШреЛрдВ рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╣реИ: рджреНрд╡рд┐рджрд┐рд╢ рдпрд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖, рд╕рдВрдЪрд╛рд░ рдХреА рджрд┐рд╢рд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдШ рдореЗрдВ рдЕрднреА рднреА рджреЛ рдЙрдк-рдкреНрд░рдЬрд╛рддрд┐рдпрд╛рдВ рд╣реИрдВ, рдЬреЛ рдЖрдВрдХрдбрд╝реЗ рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред
1. рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг
рддреЛ, рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдПрдХ рдпреВрдПрдордПрд▓ рд╡рд░реНрдЧ рдЖрд░реЗрдЦ (рдХреНрд▓рд╛рд╕ рдореЙрдбрд▓) рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдХреЛрдб рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдирд╛ рд╣реИред
рдПрдХ рд▓рд╛рдЧреВ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЙрджреНрдпрдо рдХреЗ рдХрд╛рд░реНрдорд┐рдХ рд╡рд┐рднрд╛рдЧ рдХреЛ рд▓реЗрдВрдЧреЗ рдФрд░ рдЗрд╕рдХреЗ рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХрд╛ рд╕рдВрдмрдВрдз рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рд╣реИред рдпрд╣ рд░рд╡реИрдпрд╛ рдХрд┐рд╕реА рднреА рдУрдУрдкреА рднрд╛рд╖рд╛ рдХреА рд╣рд░ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╛рд╡рд╛ рдореЗрдВ, рдпрд╣ рдПрдХ рд╡рд░реНрдЧ рд╕реЗ рджреВрд╕рд░реЗ рд╡рд░реНрдЧ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ (рд╡рд┐рд╕реНрддрд╛рд░) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред

рдЕрдВрдЬреАрд░ред 2 - рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╕рдВрдмрдВрдз
рдореИрди рдХреНрд▓рд╛рд╕ рдЕрдзрд┐рдХ рд╕рд╛рд░ рд╣реИ, рдФрд░ рдХрд░реНрдордЪрд╛рд░реА рд╡рд░реНрдЧ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдХрд░реНрдордЪрд╛рд░реА рд╡рд░реНрдЧ рдордиреБрд╖реНрдп рдХреЗ рдЧреБрдгреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рджреЗрддрд╛ рд╣реИред
рдЖрдЗрдП рдЗрд╕ рдЖрд░реЗрдЦ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
public class Man{ protected String name; protected String surname; public void setName(String newName){ name = newName; } public String getName(){ return name; } public void setSurname(String newSurname){ name = newSurname; } public String getSurname(){ return surname; } }
2. рд╕рдВрдШ
рдПрдХ рд╕рдВрдШ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
реи.рез рдмрд╛рдЗрдирд░реА
"IdCard" рд╡рд░реНрдЧ рдХреЛ рдореЙрдбрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рдкрд╣рдЪрд╛рди рдкрддреНрд░ (рдкрд╛рд╕) рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рдкрд╣рдЪрд╛рди рдкрддреНрд░, рд╕рдВрдЪрд╛рд░ рд╢рдХреНрддрд┐ 1 рд╕реЗ 1 рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЕрдВрдЬреАрд░ред 3 - рдмрд╛рдЗрдирд░реА рдПрд╕реЛрд╕рд┐рдПрд╢рди
рдХрдХреНрд╖рд╛рдПрдВ:
public class Employee extends Man{ private String position; private IdCard iCard; public Employee(String n, String s, String p){ name = n; surname = s; position = p; } public void setPosition(String newPosition){ position = newPosition; } public String getPosition(){ return position; } public void setIdCard(IdCard c){ iCard = c; } public IdCard getIdCard(){ return iCard; } } public class IdCard{ private Date dateExpire; private int number; public IdCard(int n){ number = n; } public void setNumber(int newNumber){ number = newNumber; } public int getNumber(){ return number; } public void setDateExpire(Date newDateExpire){ dateExpire = newDateExpire; } public Date getDateExpire(){ return dateExpire; } }
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдБрдзреЗрдВ:
IdCard card = new IdCard(123); card.setDateExpire(new SimpleDateFormat("yyyy-MM-dd").parse("2015-12-31")); sysEngineer.setIdCard(card); System.out.println(sysEngineer.getName() +" "+ sysEngineer.getPosition()); System.out.println(" " + new SimpleDateFormat("yyyy-MM-dd").format(sysEngineer.getIdCard().getDateExpire()) );
рдХрд░реНрдордЪрд╛рд░реА рд╡рд░реНрдЧ рдХреЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд░реНрдб рдлрд╝реАрд▓реНрдб рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ IdCard рд╣реИ, рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рди (setIdCard) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рднреА рд╣реИрдВ рдФрд░
рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (getIdCard)ред рдХрд░реНрдордЪрд╛рд░реА рд╡рд╕реНрддреБ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ, рд╣рдо IdCard рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ
рдиреЗрд╡рд┐рдЧреЗрд╢рди (рд▓рд╛рдЗрди рдкрд░ рддреАрд░) рдХреЛ рдХрд░реНрдордЪрд╛рд░реА рд╕реЗ рдЖрдИрдбреАрдХрд╛рд░реНрдб рддрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
2.2 рдПрди-ary рд╕рдВрдШ
рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╕рдВрдЧрдарди рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рд╕рд░ рд╕реМрдВрдкрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдПрдХ рдирдпрд╛ рдХрдХреНрд╖ рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВред
рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд░реНрдордЪрд╛рд░реА (рдХрд░реНрдордЪрд╛рд░реА) рдХрдИ рдХрд╛рд░реНрдп рдХрдХреНрд╖реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╕реЗ рдХрдИ рд╕рдВрдЪрд╛рд░ рд╢рдХреНрддрд┐ред
рдХрд░реНрдордЪрд╛рд░реА рд╕реЗ рдХрдХреНрд╖ рддрдХ рдиреЗрд╡рд┐рдЧреЗрд╢рдиред

рдЕрдВрдЬреАрд░ред 4 - рдПрди-рдПрд░реА рдПрд╕реЛрд╕рд┐рдПрд╢рди
рдЕрдм рдХреЛрдб рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдирдИ рдХрдХреНрд╖рд╛ рдХрдХреНрд╖:
public class Room{ private int number; public Room(int n){ number = n; } public void setNumber(int newNumber){ number = newNumber; } public int getNumber(){ return number; } }
рд░реВрдо рдХреЗ рд╕рд╛рде рдХрд░реНрдордЪрд╛рд░реА рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд╖реЗрддреНрд░ рдФрд░ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:
... 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()); } }
2.3 рдПрдХрддреНрд░реАрдХрд░рдг
рд╣рдо рдореЙрдбрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЧ рд╡рд░реНрдЧ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ - рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рд╡рд┐рднрд╛рдЧ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдЪрд┐рдд рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрд╛рдЧ рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд▓реЛрдЧ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рднрд╛рдЧ рдореЗрдВ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрд░реНрдордЪрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИред рдХрдВрдкрдиреА рдореЗрдВ рдРрд╕реЗ рдХрд░реНрдордЪрд╛рд░реА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рд╡рд┐рднрд╛рдЧ рдХреЗ рдирд╣реАрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдВрдкрдиреА рдХреЗ рдирд┐рджреЗрд╢рдХред

рдЕрдВрдЬреАрд░ред 5 - рдПрдХрддреНрд░реАрдХрд░рдг
рд╡рд┐рднрд╛рдЧ рд╡рд░реНрдЧ:
public class Department{ private String name; private Set employees = new HashSet(); public Department(String n){ name = n; } public void setName(String newName){ name = newName; } public String getName(){ return name; } public void addEmployee(Employee newEmployee){ employees.add(newEmployee);
рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛, рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдФрд░ рд╡рд┐рднрд╛рдЧ рдХреЗ рдирд╛рдо рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рднрд╛рдЧ рдореЗрдВ рдПрдХ рдирдП рдХрд░реНрдордЪрд╛рд░реА рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рдХрд░реНрдордЪрд╛рд░реА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЗрд╕ рд╡рд┐рднрд╛рдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ рд╣реИрдВред рдЖрд░реЗрдЦ рдкрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рджреНрд╡рд┐-рджрд┐рд╢рд╛рддреНрдордХ рд╣реИ: "рд╡рд┐рднрд╛рдЧ" рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рд╕реЗ рдЖрдк рдХрд┐рд╕реА рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ "рдХрд░реНрдордЪрд╛рд░реА" рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рд╕реЗ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд╡рд┐рднрд╛рдЧ рдХрд╛ рд╣реИред
рдЪреВрдБрдХрд┐ рд╣рдореЗрдВ рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд░реНрдордЪрд╛рд░реА рдХрд┐рд╕ рд╡рд┐рднрд╛рдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдХ рд╡рд┐рднрд╛рдЧ рдХреЛ рдирд┐рдпреБрдХреНрдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реНрдордЪрд╛рд░реА рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдФрд░ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВрдЧреЗред
... private Department department; ... public void setDepartment(Department d){ department = d; } public Department getDepartment(){ return department; }
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
Department programmersDepartment = new Department(""); programmersDepartment.addEmployee(sysEngineer); System.out.println(" "+sysEngineer.getDepartment().getName());
реи.рей.рез рд░рдЪрдирд╛
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЙрджреНрдпрдо рдкрд░ рдЖрдпреЛрдЬрд┐рдд рдкрд┐рдЫрд▓реА рд╕реНрдерд┐рддрд┐ рдкрд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдо рдирдП рд╡рд░реНрдЧ "рдкрд╛рд╕реНрдЯрдкреЛрд╕реЗ" рдХреЛ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВред "рдирд╛рдо" рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо "рд╡рд┐рднрд╛рдЧ" рд╕рдВрдкрддреНрддрд┐ рднреА рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕реЗ "рд╡рд┐рднрд╛рдЧ" рд╡рд░реНрдЧ рд╕реЗ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред
рдкрд┐рдЫрд▓реЗ рдкрджреЛрдВ рдкрд░ рдореМрдЬреВрдж рдбреЗрдЯрд╛ рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рдбреЗрдЯрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдирдХреЗ рдФрд░ рдкреВрд░реЗ рд╕рдордп рдХреЗ рдмреАрдЪ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдкрд┐рдЫрд▓реЗ рдкрджреЛрдВ рдкрд░ рдбреЗрдЯрд╛ "рдХрд░реНрдордЪрд╛рд░реА" рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рдХреЗ рдмрд┐рдирд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХрд░реНрдордЪрд╛рд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреБрд░рд╛рдиреЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдирд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдВрдЬреАрд░ред 6 - рд░рдЪрдирд╛
рдХрдХреНрд╖рд╛ "рдкрд╛рд╕реНрдЯрдкреЛрд╕реЗ":
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); } ...
рдЖрд╡реЗрджрди:
3. рдирд┐рд░реНрднрд░рддрд╛
рдореЗрдВ рдкреНрд░рдгрд╛рд▓реА рд╡рд░реНрдЧ ┬лрдореЗрдиреВ┬╗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╛рддрдЪреАрдд рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╣рдо рдПрдХ рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗ, "showEmployees," рдЬреЛ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рдкрджреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджрд┐рдЦрд╛рддрд╛ рд╣реИред рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдХрд░реНрдордЪрд╛рд░реА рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХрд░реНрдордЪрд╛рд░реА рд╡рд░реНрдЧ рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдореЗрдиреВ рд╡рд░реНрдЧ рдореЗрдВ рднреА рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЕрдВрдЬреАрд░ред 7 - рдирд┐рд░реНрднрд░рддрд╛
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ "рдореЗрдиреВ" рд╡рд░реНрдЧ рдЖрд╡реЗрджрди рдХреНрд╖реЗрддреНрд░ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд▓реНрдкрдирд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ "рд╕рд┐рд╕реНрдЯрдо" рд╡рд░реНрдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред
рдХрдХреНрд╖рд╛ ┬лрдореЗрдиреВ┬╗:
public class Menu{ private static int i=0; public static void showEmployees(Employee[] employees){ System.out.println(" :"); for (i=0; i<employees.length; i++){ if(employees[i] instanceof Employee){ System.out.println(employees[i].getName() +" - " + employees[i].getPosition()); } } } }
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
4. рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХреА рддрд░рд╣, рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ: рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдШреЛрд╖рдгрд╛ рдФрд░ рдХрд┐рд╕реА рднреА рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд╕рдВрднрд╛рд╡рдирд╛ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдВрдмрдВрдз рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпреВрдирд┐рдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдПрдВред рдпрджрд┐ рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрдЧрдарди рдХреЛ рди рдХреЗрд╡рд▓ рд╡рд┐рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛рдУрдВ, рд╢рд╛рдЦрд╛рдУрдВ рдЖрджрд┐ рдореЗрдВред рдпреВрдирд┐рдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдмрд╕реЗ рдЕрдореВрд░реНрдд рд╡рд┐рднрд╛рдЬрди рдЗрдХрд╛рдИ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╡реАрдЬрди рдЗрдХрд╛рдИ рдореЗрдВ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░реНрдордЪрд╛рд░реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпреВрдирд┐рдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдордХрд╛рдЬреА рд▓реЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдЧреАред

рдЕрдВрдЬреАрд░ред 8 - рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдЗрдХрд╛рдИ рдЗрдВрдЯрд░рдлрд╝реЗрд╕:
public interface Unit{ int getPersonCount(); }
рд╡рд┐рднрд╛рдЧ рд╡рд░реНрдЧ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди:
public class Department implements Unit{ ... public int getPersonCount(){ return getEmployees().size(); }
рдЖрд╡реЗрджрди:
System.out.println(" "+sysEngineer.getDepartment().getName()+" " +sysEngineer.getDepartment().getPersonCount()+" .");
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, getPersonCount рдкрджреНрдзрддрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рднрд╛рдЧ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЧреЗрдЯрдЕрдВрдкреНрд▓реЙрдпреА рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рд░рд┐рдЯрд░реНрди рдХрд░рддреА рд╣реИ
рдХрд░реНрдордЪрд╛рд░реА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ред
рдкреВрд░реНрдг рдХреЛрдб:
http://code.google.com/p/umljava/downloads/listрдирд┐рд╖реНрдХрд░реНрд╖
рдпреВрдПрдордПрд▓ рдореЙрдбрд▓рд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рдореЙрдбрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдЙрдиреНрдирдд рдУрдУрдкреА рднрд╛рд╖рд╛ рднреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рджреЛ рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрдорд╛рдг рд╣реИрдВ: рд╡рд┐рд╕реНрддрд╛рд░ (рд╡рд┐рд╕реНрддрд╛рд░) рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ / рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди)ред
рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рдорд┐рд▓рд╛:

рдЕрдВрдЬреАрд░ред 8 - рдХрдХреНрд╖рд╛ рдЖрд░реЗрдЦ
рд╕рд╛рд╣рд┐рддреНрдп
1) рдЬреАред рдмреБрдЪ, рдбреАред рд░реИрдореНрдмреЛ, рдПред рдЬреИрдХрдмрд╕рдиред рдпреВрдПрдордПрд▓ рднрд╛рд╖рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд╛рдЗрдбред
2)
рдП Leonenkovред рдпреВрдПрдордПрд▓ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓3) рдПрдХреНрд╕реЗрд▓ рдмреАред рдж рдлрд┐рд▓реЙрд╕рдлреА рдСрдл рдЬрд╛рд╡рд╛ред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпред - рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ: рдкреАрдЯрд░, 2001ред - 880 рдкреАред
4) рдУрд░рд▓реЛрд╡ рдПрд╕ред рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕: рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХред - рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ: рдкреАрдЯрд░, 2002 ред-- 464 рдкреАред
5) рдореБрдЦреЛрд░реНрдЯреЛрд╡ рд╡реАред рд╡реАред, рд░рд╛рдпрд▓реЛрд╡ рд╡реАред рдпреВред рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдбрд┐рдЬрд╛рдЗрдиред рдЯреВрд▓рдХрд┐рдЯред - рдиреЛрд╡реЛрд╕рд┐рдмрд┐рд░реНрд╕реНрдХ, 2002ред
6)
рдЖрдирдВрдж рдЧрдгреЗрд╢рдиред рдпреВрдПрдордПрд▓ рдореЗрдВ рдореЙрдбрд▓рд┐рдВрдЧ рдХреНрд▓рд╛рд╕ рд░рд┐рд▓реЗрд╢рдирд╢рд┐рдк