рдЯреЗрд▓-рдбреЛрди-рдЖрд╕реНрдХ рдПрдХ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рдбреЗрдЯрд╛ рдФрд░ рдлрдВрдХреНрд╢рди рдХреЛ рдмрдВрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╣ рд╣рдореЗрдВ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдорд╛рдВрдЧрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рднреА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЙрд╕рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдореЗрдВ рдЕрд▓рд╛рд░реНрдо рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕рдВрдЦреНрдпрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрддрд░ рд╕реЗ рдКрдкрд░ рдЙрдардиреЗ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧреАред рдпрджрд┐ рд╣рдо рдЗрд╕реЗ "рдкреВрдЫрдирд╛" рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдорд┐рд▓рддреА рд╣реИ ...
class AskMonitor... private int value; private int limit; private boolean isTooHigh; private String name; private Alarm alarm; public AskMonitor (String name, int limit, Alarm alarm) { this.name = name; this.limit = limit; this.alarm = alarm; }
... рдлрд┐рд░ рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд:
class AskMonitor... public int getValue() {return value;} public void setValue(int arg) {value = arg;} public int getLimit() {return limit;} public String getName() {return name;} public Alarm getAlarm() {return alarm;}
рдФрд░ рд╡реЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
AskMonitor am = new AskMonitor("Time Vortex Hocus", 2, alarm); am.setValue(3); if (am.getValue() > am.getLimit()) am.getAlarm().warn(am.getName() + " too high");
рдмрддрд╛рдПрдВ-рдордд рдкреВрдЫреЗрдВ рд╣рдореЗрдВ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдВрджрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╕рдорд╛рди рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ):
class TellMonitor... public void setValue(int arg) { value = arg; if (value > limit) alarm.warn(name + " too high"); }
рдФрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛:
TellMonitor tm = new TellMonitor("Time Vortex Hocus", 2, alarm); tm.setValue(3);
рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЯреЗрд▓-рдбреЛрди-рдЖрд╕реНрдХ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдЙрдкрдпреЛрдЧреА рдкрд╛рддреЗ рд╣реИрдВред рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдореВрд▓рднреВрдд рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдбреЗрдЯрд╛ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд░рд▓ рд╕рд┐рд╕реНрдЯрдо рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ (рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕) рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЕрдХреНрд╕рд░ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рдФрд░ рдЗрд╕рдХреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдХрдЯрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрддреА рд╣реИ: рдПрдХ рдХрд╛рд░рдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рджреВрд╕рд░реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиред рдЪреАрдЬреЗрдВ рдЬреЛ рдмрд╛рд░реАрдХреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рдПрдХ рдШрдЯрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдпрд╣ рджреЗрдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдбреЗрдЯрд╛ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХреИрд╕реЗ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рд╕рд┐рд░реНрдл рдбреЗрдЯрд╛ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЕрдХреНрд╕рд░ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рд▓реЛрдЧреЛрдВ рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрд░реАрдХреЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╡рд╕реНрддреБрдПрдВ рд╕реВрдЪрдирд╛ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рд╕рд╣рдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╡рд╣ рд╡рд╕реНрддреБ рд╣реЛрдЧреА рдЬреЛ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдирд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИред рдореИрдВрдиреЗ рдХреЛрдб рджреЗрдЦрд╛ рдЬреЛ рдЗрддрдирд╛ рдореБрдбрд╝ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреБрдХреНрдд рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдВрдЧреЗред рдореЗрд░реЗ рд▓рд┐рдП, рдЯреЗрд▓-рдордд-рдкреВрдЫреЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдХрджрдо рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджрдХ: рдореБрдЭреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдирд╛рдо рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ рд╕рдВрджреЗрд╣ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ - "рдкреВрдЫреЗрдВ, рди рдкреВрдЫреЗрдВ"