рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдпрд╣рд╛рдВ рдУрдкрди-рдХреНрд▓реЛрдЬреНрдб рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдХреЗ рд░реЙрдмрд░реНрдЯ рдорд╛рд░реНрдЯрд┐рди рдХреЗ рдПрдХ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реИ, рдЬрд┐рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬрдирд╡рд░реА 1996 рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдЦ, рдЗрд╕реЗ рд╣рд▓реНрдХреЗ рдврдВрдЧ рд╕реЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд╡реАрдирддрдо рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди RuNet рдореЗрдВ, SOLID рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдВрдХрд▓ рдмреЙрдм рдХреЗ рд▓реЗрдЦ рдХреЗрд╡рд▓ рдХрд╛рдЯ-рдЫрд╛рдБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдПрдХ рдкреВрд░реНрдг рдЕрдиреБрд╡рд╛рдж рдЕрддрд┐рд╢реНрдпреЛрдХреНрддрд┐рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рдкрддреНрд░ рдУ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЪреВрдВрдХрд┐ рдЦреБрд▓реЗрдкрди-рдмрдВрдж рд╣реЛрдиреЗ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрдВрджреНрд░реАрдп рд╣реИред рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реВрдХреНрд╖реНрдорддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ:
- рдХреЛрдИ рднреА рдХрд╛рд░реНрдпрдХреНрд░рдо 100% "рдмрдВрдж" рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
- рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (OOP) рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреА рднреМрддрд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддреА рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдЖрджреЗрд╢" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ред
рдпрд╣ C ++ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдЗрдВрдЬреАрдирд┐рдпрд░ рдиреЛрдЯреНрд╕ рдХреЙрд▓рдо рдХрд╛ рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╣реИред рдЗрд╕ рдХреЙрд▓рдо рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд▓реЗрдЦ C ++ рдФрд░ OOP рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЛ рдЫреВрдПрдВрдЧреЗред рдореИрдВ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдЗрди рд▓реЗрдЦреЛрдВ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдореИрдВ рдмреБрдЪ рдХреЗ рдЕрдВрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛ред
рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрдИ рд╣реЗрдпреВрд░рд┐рд╕реНрдЯрд┐рдХреНрд╕ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рд╕рднреА рд╕рджрд╕реНрдп рдЪрд░ рдирд┐рдЬреА рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП", рдпрд╛ "рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП", рдпрд╛ "рд░рдирдЯрд╛рдЗрдо рдкрд░ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЦрддрд░рдирд╛рдХ рд╣реИ"ред рдРрд╕реЗ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдХрд╛ рдХреНрдпрд╛ рдХрд╛рд░рдг рд╣реИ? рд╡реЗ рд╕рдЪ рдХреНрдпреЛрдВ рд╣реИрдВ? рдХреНрдпрд╛ рд╡реЗ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддреЗ рд╣реИрдВ? рдпрд╣ рд╕реНрддрдВрдн рдЗрди рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбрд┐рдЬрд╛рдЗрди рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ - рдЦреБрд▓реЗрдкрди-рдмрдВрдж рд╣реЛрдиреЗ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрддред
рдЗрд╡рд░ рдЬреИрдХрдмрд╕рди рдиреЗ рдХрд╣рд╛: тАЬрдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рджреМрд░рд╛рди рд╕рднреА рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВред рдпрд╣ рдЙрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдкреИрджрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред тАЭ рд╣рдо рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдХреИрд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЪреЗрд╣рд░реЗ рдкрд░ рд╕реНрдерд┐рд░ рд╣реЛ рдФрд░ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реЛ? рдмрд░реНрдЯреНрд░реЗрдВрдб рдореЗрдпрд░ рдиреЗ рд╣рдореЗрдВ 1988 рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛, рдЬрдм рдЦреБрд▓реЗрдкрди-рдирд┐рдХрдЯрддрд╛ рдХреЗ рдкреНрд░рд╕рд┐рджреНрдз рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрд╕реНрдерд╛рдУрдВ (рдХрдХреНрд╖рд╛рдПрдВ, рдореЙрдбреНрдпреВрд▓, рдлрд╝рдВрдХреНрд╢рди, рдЖрджрд┐) рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдирд┐рд░реНрднрд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдПрдХ рдЭрд░рдирд╛ рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ "рдЦрд░рд╛рдм" рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╕рдВрдХреЗрдд рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд╛рдЬреБрдХ, рдЕрдирдореНрдп, рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдФрд░ рдЕрдкреНрд░рдпреБрдХреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЦреБрд▓реЗрдкрди-рдШрдирд┐рд╖реНрдарддрд╛ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рд╡рд╣ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реЗ рдореЙрдбреНрдпреВрд▓реЛрдВ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ рдХрднреА рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ ред рдЬрдм рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреБрд░рд╛рдиреЗ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд░реНрдпрд░рдд рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдирдП рдХреЛрдб рдЬреЛрдбрд╝рдХрд░ рдРрд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд┐рд╡рд░рдг
рдЦреБрд▓реЗрдкрди-рдирд┐рдХрдЯрддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреА рджреЛ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:
- рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓реЗрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрджрд▓рддреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпрд╛ рдирдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
- рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдмрдВрджред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдЕрдЫреВрдд рд╣реИред рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рджреЛрдиреЛрдВ рд╕рдВрдХреЗрдд рдПрдХ рд╕рд╛рде рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдорд╛рдирдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрд╕рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рдЬрд╛рдПред рдПрдХ рдореЙрдбреНрдпреВрд▓ рдЬрд┐рд╕реЗ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдирд┐рд╢реНрдЪрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рджреЛ рд╡рд┐рдкрд░реАрдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рд╕рдорд╛рдзрд╛рди рдХреА рдХреБрдВрдЬреА рдЕрдореВрд░реНрддрддрд╛ рд╣реИред
C ++ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдирд┐рд╢реНрдЪрд┐рдд рдЕрдореВрд░реНрдд рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рд╕рдВрднрд╡ рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХреЗ рдЕрд╕реАрдорд┐рдд рд╕реЗрдЯ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╕рд╛рд░ рдЕрдореВрд░реНрдд рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рд╣реИрдВ, рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдПрдХ рдЕрд╕реАрдорд┐рдд рд╕реЗрдЯ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рд╡рд░реНрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рдореЙрдбреНрдпреВрд▓ рдЕрдореВрд░реНрддрддрд╛ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдореЙрдбреНрдпреВрд▓ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдореВрд░реНрддрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдореВрд░реНрдд рдХреЗ рдирдП рд╡рдВрд╢рдЬ рдмрдирд╛рдХрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрд░реЗрдЦ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдбрд┐рдЬрд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЦреБрд▓реЗрдкрди-рдирд┐рдХрдЯрддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рджреЛрдиреЛрдВ Client
, Client
рдФрд░ Server
, рдЕрдореВрд░реНрдд рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ Server
рдХреНрд▓рд╛рд╕ рдХреЗ рд╕рджрд╕реНрдп рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реИрдВред Client
рд╡рд░реНрдЧ Server
рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ Client
рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗ, рддреЛ рд╣рдореЗрдВ рдирдП рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рд╕ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Client
рдХреНрд▓рд╛рд╕ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред

рдмрдВрдж рдЧреНрд░рд╛рд╣рдХ
рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд░реЗрдЦ рд╕рдВрдмрдВрдзрд┐рдд рдбрд┐рдЬрд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЦреБрд▓реЗрдкрди-рдирд┐рдХрдЯрддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, AbstractServer
рд╡рд░реНрдЧ рдПрдХ рд╕рд╛рд░ рд╡рд░реНрдЧ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рднреА рд╕рджрд╕реНрдп рдХрд╛рд░реНрдп рдЖрднрд╛рд╕реА рд╣реИрдВред Client
рд╡рд░реНрдЧ рдЕрдореВрд░реНрддрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, Client
рд╡рд░реНрдЧ рдХреА рдСрдмреНрдЬреЗрдХреНрдЯ Server
рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рд╣рдо Client
рдХреНрд▓рд╛рд╕ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд░ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо AbstractServer
рдХреНрд▓рд╛рд╕ рдХреЗ рдПрдХ рдирдП рд╡рдВрд╢рдЬ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдВрдЧреЗред Client
рд╡рд░реНрдЧ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗрдЧрд╛ред

рдХреНрд▓рд╛рдЗрдВрдЯ рдЦреЛрд▓реЗрдВ
Shape
рд╕рд╛рд░
рдПрдХ рдЖрд╡реЗрджрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдПрдХ рдорд╛рдирдХ рдЬреАрдпреВрдЖрдИ рдореЗрдВ рдордВрдбрд▓рд┐рдпреЛрдВ рдФрд░ рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдордВрдбрд▓рд┐рдпреЛрдВ рдФрд░ рд╡рд░реНрдЧреЛрдВ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд░рдо рдореЗрдВ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реА рдХреНрд░рдо рдореЗрдВ, рд╣рд▓рдХреЛрдВ рдФрд░ рд╡рд░реНрдЧреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╕рдВрдХрд▓рд┐рдд рдХреА рдЬрд╛рдПрдЧреА, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдХреНрд░рдо рд╕реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрдХрд▓ рдпрд╛ рд╡рд░реНрдЧ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реА рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЬреЛ рдЦреБрд▓реЗ-рдкрд╛рд╕ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рд╕реВрдЪреА 1 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рд╣реА рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХрдИ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рджреЗрдЦрддреЗ рд╣реИрдВред рдпрд╣ рддрддреНрд╡ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреЛрдб рд╣реИ рдЬреЛ рдПрдХ рд╕рд░реНрдХрд▓ рдпрд╛ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИред DrawAllShapes
рдлрд╝рдВрдХреНрд╢рди рдЗрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ, рдкреНрд░рдХрд╛рд░ рдХреЛрдб рдХреЛ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рдВрдХреНрд╢рди ( DrawCircle
рдпрд╛ DrawSquare
) рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред
DrawAllShapes
рдлрд╝рдВрдХреНрд╢рди рдЦреБрд▓реЗрдкрди-рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ DrawAllShapes
, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдХрд╛рд░реЛрдВ рд╕реЗ "рдмрдВрдж" рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реВрдЪреА рд╕реЗ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рддреНрд░рд┐рдХреЛрдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдмреЗрд╢рдХ, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ, DrawAllShapes
рдлрд╝рдВрдХреНрд╢рди рд╕реЗ switch
рдСрдкрд░реЗрдЯрд░ рдХреЛ рдкреВрд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдмрд╛рд░-рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдЫ рдЕрд▓рдЧ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдирдП рдЖрдХрд╛рд░ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдРрд╕реЗ рд╕рднреА рд╕реНрдерд╛рди рдЬрд╣рд╛рдВ рдЗрд╕ рддрд░рд╣ рдХреЗ switch
(рдпрд╛ if/else
рдЪреЗрди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЖрдХрд╛рд░ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рднреА switch
рдФрд░ if/else
рд╢реНрд░реГрдВрдЦрд▓рд╛ DrawAllShapes
рдореЗрдВ рднреА рд╕рдВрд░рдЪрд┐рдд DrawAllShapes
ред рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ if
рдХреЛ рддрд╛рд░реНрдХрд┐рдХ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ if
рдЬрд╛рдПрдЧрд╛ рдпрд╛ case
switch
рдмреНрд▓реЙрдХ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬреЛрдбрд╝ switch
рдЬрд╛рдПрдЧрд╛ рдЬреИрд╕реЗ рдХреЛрдб рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реНрдерд╛рди рдХреЛ "рд╕рд░рд▓" рдХрд░рдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрди рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдЖрдВрдХрдбрд╝рд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реЗ рдЧреИрд░-рддреБрдЪреНрдЫ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2 рдореЗрдВ, рдореИрдВ рдХреЛрдб рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдЬреЛ рдПрдХ рд╡рд░реНрдЧ / рд╕рд░реНрдХрд▓ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЦреБрд▓реЗрдкрди-рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╕рд╛рд░ Shape
рд╡рд░реНрдЧ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╢реБрджреНрдз рдЖрднрд╛рд╕реА Draw
рдлрдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИред Circle
рдФрд░ Square
рд╡рд░реНрдЧ Shape
рдХреНрд▓рд╛рд╕ рдХреЗ рд╡рдВрд╢рдЬ рд╣реИрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рд╣рдо рдПрдХ рдирдП рддрд░рд╣ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DrawAllShapes
2 рдореЗрдВ DrawAllShapes
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо Shape
рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдирдпрд╛ рд╡рдВрд╢рдЬ рдЬреЛрдбрд╝ рджреЗрдВред DrawAllShapes
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, DrawAllShapes
рдЦреБрд▓реЗрдкрди-рдирд┐рдХрдЯрддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдХрд╛рд░реНрдп рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рд╣реА рдЗрд╕рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, Shape
рд╡рд░реНрдЧ рдореЗрдВ рдХрдИ рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреАред рдФрд░ рдлрд┐рд░ рднреА, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рдирдпрд╛ рдЖрдХрд╛рд░ рдЬреЛрдбрд╝рдирд╛ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдирдпрд╛ рд╡рд╛рд░рд┐рд╕ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рдиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдкреВрд░реЗ рдЖрд╡реЗрджрди рдХреЛ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреЛ рдЦреБрд▓реЗрдкрди-рдирд┐рдХрдЯрддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдирдП рдХреЛрдб рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдмрджрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдореМрдЬреВрджрд╛ рдХреЛ рдмрджрд▓рдХрд░ рдирд╣реАрдВред рд╡реЗ рдЙрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИрдВред
рдмрдВрдж рдХреА рдЧрдИ рдкреНрд░рд╡реЗрд╢ рд░рдгрдиреАрддрд┐
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдХреЛрдИ рднреА рдХрд╛рд░реНрдпрдХреНрд░рдо 100% рдмрдВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2 рдореЗрдВ DrawAllShapes
рдлрдВрдХреНрд╢рди рдХрд╛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЕрдЧрд░ рд╣рдо рдпрд╣ рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реЗ рд╕рд░реНрдХрд▓ рдФрд░ рдлрд┐рд░ рд╕реНрдХреНрд╡рд╛рдпрд░ рддреИрдпрд╛рд░ рдХрд┐рдП рдЬрд╛рдПрдВ? рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрджрд▓рд╛рд╡ рд╕реЗ DrawAllShapes
рдлрд╝рдВрдХреНрд╢рди рдмрдВрдж рдирд╣реАрдВ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХреИрд╕реЗ "рдмрдВрдж" рд╣реИ, рд╣рдореЗрд╢рд╛ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдпрд╣ рдмрдВрдж рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдХреНрд▓реЛрдЬрд░ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рд░рдгрдиреАрддрд┐рдХ рд░реВрдк рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣реА рд╣реИ, рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЛ рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рдирд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдиреБрднрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдХ рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдЙрджреНрдпреЛрдЧ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддрд╛ рд╣реИред рд╡рд╣ рддрдм рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЦреБрд▓реЗрдкрди-рдирд┐рдХрдЯрддрд╛ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдореНрдорд╛рдирд┐рдд рд╣реИред
рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рдХрдЯрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдореВрд░реНрддрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ
рд╣рдо рдбреНрд░рд╛рдЗрдВрдЧ рдСрд░реНрдбрд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╕реЗ DrawAllShapes
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреИрд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдмрдВрдж рд╣реЛрдирд╛ рдЕрдореВрд░реНрддрддрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП, DrawAllShapes
рдХреЛ рдСрд░реНрдбрд░ рдХрд░рдиреЗ рд╕реЗ DrawAllShapes
рд▓рд┐рдП, рд╣рдореЗрдВ "рдСрд░реНрдбрд░рд┐рдВрдЧ рдПрдмреНрд╕реНрдЯреНрд░рдХреНрд╢рди" рдХреЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрджреЗрд╢ рджреЗрдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛, рдКрдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рдХреЛ рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рдЦреАрдВрдЪ рд░рд╣рд╛ рд╣реИред
рдЖрджреЗрд╢ рджреЗрдиреЗ рдХреА рдиреАрддрд┐ рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рд╣реИ рдХрд┐ рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде, рдЖрдк рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдкрд╣рд▓реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рд╣рдо Shape
рдирд╛рдордХ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ Precedes
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЕрдиреНрдп Shape
рд╡рд╕реНрддреБ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдмреВрд▓рд┐рдпрди рдорд╛рди рдХреЛ true
рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдпрд╣ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ Shape
рд╡рд░реНрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ Shape
рд╡рд░реНрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ред
C ++ рдореЗрдВ, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ "<" рдСрдкрд░реЗрдЯрд░ рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред 3 рдХреА рд╕реВрдЪреА Shape
рд╡рд░реНрдЧ рдХреЛ рдЫрдБрдЯрд╛рдИ рдХреЗ рддрд░реАрдХреЛрдВ рд╕реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Shape
рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ, рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 4 рдЗрд╕реА C ++ рдХреЛрдб рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдпрд╣ рдореЗрд░реА рдкреБрд╕реНрддрдХ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд Components
рд╢реНрд░реЗрдгреА рд╕реЗ Set
, OrderedSet
рдФрд░ Iterator
рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдмреВрдЪ рд╡рд┐рдзрд┐, рд░реЙрдмрд░реНрдЯ рд╕реАред рдорд╛рд░реНрдЯрд┐рди, рдЕрдкреНрд░реЗрдВрдЯрд┐рд╕ рд╣реЙрд▓, 1995 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдЬрд╛рдЗрдирд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдУрд░рд┐рдПрдВрдЯреЗрдб рд╕реА ++ рдПрдкреНрд▓реАрдХреЗрд╢рди)ред
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ Shape
рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЙрдЪрд┐рдд рдХреНрд░рдо рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдСрд░реНрдбрд░рд┐рдВрдЧ рдХреЗ рдЕрдореВрд░реНрддрди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдСрд░реНрдбрд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ Shape
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ Precedes
рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ? Circle::Precedes
рдореЗрдВ рдХрд┐рд╕ рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ Circle::Precedes
рддрд╛рдХрд┐ рд╡реГрддреНрдд рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВ? рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5 рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЦреБрд▓реЗрдкрди-рдирд┐рдХрдЯрддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред Shape
рдХреНрд▓рд╛рд╕ рдХреЗ рдирдП рд╡рдВрд╢рдЬреЛрдВ рд╕реЗ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд░ рдмрд╛рд░ Shape
рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдирдпрд╛ рд╡рдВрд╢рдЬ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред
рдХреНрд▓реЛрдЬрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдбреНрд░рд┐рд╡рди рдЕрдкреНрд░реЛрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
Shape
рд╡рд░реНрдЧ рдХреЗ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдХреА рдирд┐рдХрдЯрддрд╛ рдПрдХ рд╕рд╛рд░рдгреАрдмрджреНрдз рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд░рд╛рд╕рдд рд╡рд░реНрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЙрддреНрддреЗрдЬрд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реВрдЪреА 6 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ DrawAllShapes
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдСрд░реНрдбрд░ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ, рдФрд░ Shape
рдХреНрд▓рд╛рд╕ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рдВрд╢рдЬ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ - рдПрдХ рдирдП рд╡рдВрд╢ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдпрд╛ Shape
рдХреНрд▓рд╛рд╕ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдСрд░реНрдбрд░рд┐рдВрдЧ рдкреЙрд▓рд┐рд╕реА рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ Squares
рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБрдПрдВ) рдкрд╣рд▓реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛рдП)ред
рдПрдХрдорд╛рддреНрд░ рддрддреНрд╡ рдЬреЛ рдбреНрд░рд╛рдЗрдВрдЧ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдмрдВрдж рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЕрдиреНрдп рд╕рднреА рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдХреЗ рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдЖрдЧреЗ рдмрдВрдж
рдпрд╣ рдХрд╣рд╛рдиреА рдХрд╛ рдЕрдВрдд рдирд╣реАрдВ рд╣реИред рд╣рдордиреЗ Shape
рд╡рд░реНрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд░реНрдбрд░ рдиреАрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ Shape
рд╡рд░реНрдЧ рдФрд░ DrawAllShapes
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, Shape
рд╡рд░реНрдЧ рдХреЗ рд╡рдВрд╢рдЬ рдЙрди рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдЖрджреЗрд╢ рджреЗрдиреЗ рд╕реЗ рдмрдВрдж рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ Shape
рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рд╕рдВрдмрджреНрдз рдирд╣реАрдВ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЗ рдЖрд░реЗрдЦрдг рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдЕрдзреНрдпрдпрди рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИ; рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдкрд╛рдардХ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ OrderedObject
рдХреНрд▓рд╛рд╕ рдореЗрдВ рдирд┐рд╣рд┐рдд рдЕрдореВрд░реНрдд OrderedObject
рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ OrderedShape
, рдЬреЛ рдХрд┐ Shape
рдФрд░ OrderedObject
рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред
рд╣реЗрдпреВрд░рд┐рд╕реНрдЯрд┐рдХреНрд╕ рдФрд░ рдХрдиреНрд╡реЗрдВрд╢рди
рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЦреБрд▓реЗрдкрди-рдШрдирд┐рд╖реНрдарддрд╛ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрдИ рдЕрдиреБрдорд╛рдиреЛрдВ рдФрд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЗ рдкреАрдЫреЗ рдХреА рдкреНрд░рдореБрдЦ рдкреНрд░реЗрд░рдгрд╛ рд╣реИ рдЬреЛ рдУрдУрдкреА рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдЙрднрд░реЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред
рд╕рднреА рд╕рджрд╕реНрдп рдЪрд░ рдХреЛ рдирд┐рдЬреА рдмрдирд╛рдПрдВ
рдпрд╣ рдкреАрдПрд▓рдУ рдХреЗ рд╕рдмрд╕реЗ рд╕реНрдерд╛рдпреА рд╕рдореНрдореЗрд▓рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рд╕рджрд╕реНрдп рдЪрд░ рдХреЛ рдХреЗрд╡рд▓ рдЙрд╕ рдХрдХреНрд╖рд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВред рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧреЛрдВ рд╕рд╣рд┐рдд рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ private
рдПрдХреНрд╕реЗрд╕ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, public
рдпрд╛ protected
ред
рдЦреБрд▓реЗрдкрди-рдШрдирд┐рд╖реНрдарддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдореНрдореЗрд▓рди рдХрд╛ рдХрд╛рд░рдг рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЬрдм рдХрдХреНрд╖рд╛ рд╕рджрд╕реНрдп рдЪрд░ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдЙрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣реА рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдЗрди рдЪрд░реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдмрдВрдж рдирд╣реАрдВ рд╣реИред
OOP рдореЗрдВ, рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рддрд░реАрдХреЗ рдЙрди рдЪрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдмрдВрдж рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд╕рджрд╕реНрдп рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрд╡рд░реНрдЧ рд╕рд╣рд┐рдд рдХреЛрдИ рднреА рдЕрдиреНрдп рд╡рд░реНрдЧ рдЗрди рдЪрд░реЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╕реЗ рдмрдВрдж рд╣реИред рдЗрд╕реЗ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЪрд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛? рдХреНрдпрд╛ рдЗрд╕реЗ private
рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреАрдмрджреНрдз 7 Device
рд╡рд░реНрдЧ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЪрд░ рд╕рджрд╕реНрдп bool status
ред рдпрд╣ рдЕрдВрддрд┐рдо рдСрдкрд░реЗрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдСрдкрд░реЗрд╢рди рд╕рдлрд▓ рд░рд╣рд╛, рддреЛ status
рдЪрд░ рдХрд╛ рдореВрд▓реНрдп true
рд╣реЛрдЧрд╛, рдЕрдиреНрдпрдерд╛ false
ред
рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдЪрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдпрд╛ рдЕрд░реНрде рдХрднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред рддреЛ рдХреНрдпреЛрдВ рди рдЗрд╕реЗ public
рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЗрд╕ рддрдХ рд╕реАрдзреА рдкрд╣реБрдБрдЪ рджреА рдЬрд╛рдП? рдпрджрд┐ рдЪрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдпрджрд┐ рд╕рднреА рдЧреНрд░рд╛рд╣рдХ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдЗрд╕ рдЪрд░ рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЪрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдЗрд╕ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рд▓рд┐рдЦрдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд▓реЗрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред
рдЕрдЪрд╛рдирдХ, рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ Device
рд╡рд░реНрдЧ рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдЧрд▓рдд рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ Device
рд╡рд░реНрдЧ рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬреЛрдЦрд┐рдо рд╣реИред
рджреВрд╕рд░реА рдУрд░, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Time
рдХреНрд▓рд╛рд╕ рд╣реИ, рдЬреЛ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 8 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рдкреНрд░рдЪрд╛рд░ рдХрд╛ рдЦрддрд░рд╛ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рдмрджрд▓ рдЬрд╛рдПрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЙрдбреНрдпреВрд▓ рдЗрди рдЪрд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрди рдЪрд░реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рднреА рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХрдХреНрд╖рд╛рдПрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕рджрд╕реНрдп рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░ рд╕рдХрддреА рд╣реИрдВред рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рд╕реВрдЪреА 8 рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╢рд┐рдХрд╛рдпрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдордп рдкрд░рд┐рд╡рд░реНрддрди рдкрд░рдорд╛рдгреБ рдирд╣реАрдВ рд╣реИред рдпрд╣реА рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ hours
рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ minutes
рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЕрд╕рдВрдЧрдд рдбреЗрдЯрд╛ рдХреЛ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Time
рдХреНрд▓рд╛рд╕ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рд╢реБрд░реВ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рддреАрди рддрд░реНрдХ рд╣реЛрдВрдЧреЗ, рдЬреЛ рд╕рдордп рдХреЛ рдПрдХ рдкрд░рдорд╛рдгреБ рд╕рдВрдЪрд╛рд▓рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдХрдордЬреЛрд░ рддрд░реНрдХ рд╣реИред
рдЕрдиреНрдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬрд┐рд╕рдХреЗ рддрд╣рдд рдЗрди рдЪрд░реЛрдВ рдХреЗ рдкреНрд░рдЪрд╛рд░ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЕрдВрддрддрдГ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдиреНрд╣реЗрдВ private
рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдареЛрд╕ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЪрд░ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд░рдирд╛ рдПрдХ рдмреБрд░реА рд╢реИрд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдбрд┐рдЬрд╛рдЗрди рдирд╣реАрдВ рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЦрд░рд╛рдм рд╢реИрд▓реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрди рд╕рджрд╕реНрдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдЦрд░реНрдЪ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рдШрдЯрдирд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рдЫреЛрдЯреЗ рдЬреЛрдЦрд┐рдо рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдРрд╕реЗ рджреБрд░реНрд▓рдн рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЬрдм рдЦреБрд▓реЗрдкрди-рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ public
рдХрд╛ рдирд┐рд╖реЗрдз - рдФрд░ protected
рдЪрд░ рд╢реИрд▓реА рдкрд░ рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдирд╣реАрдВред
рдХреЛрдИ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ ... рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ!
рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рддрд░реНрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рджрд╕реНрдп рдЪрд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рддрд░реНрдХ рдХреЗ рд╕рдорд╛рди рд╣реИред рдХреЛрдИ рднреА рдореЙрдбреНрдпреВрд▓ рдЬреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЙрд╕реЗ рдЙрд╕ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЙрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдХреЛрдИ рднреА рдореЙрдбреНрдпреВрд▓ рдЬреЛ рдЗрд╕ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрд░реАрдХреЗ рд╕реЗ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдЕрднрд┐рдкреНрд░реЗрдд рдирд╣реАрдВ рд╣реИ, рдЗрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛ред рдПрдХ рдПрдХрд▓ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдореЙрдбреНрдпреВрд▓ рдХреА рдпреЛрдирд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХрдИ рдореЙрдбреНрдпреВрд▓ рд╣реЛрдирд╛ рдмрд╣реБрдд рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реИред
рджреВрд╕рд░реА рдУрд░, рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЬрд╣рд╛рдВ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдЙрди рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрддреЗ рд╣реИрдВ рдпрд╛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдХреЛрдИ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЧреЛрдкрдиреАрдпрддрд╛ рдХрд┐рддрдиреА рд╣реИ рдФрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдпрд╣рд╛рдВ рдлрд┐рд░ рд╕реЗ, рд╢реИрд▓реА рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЦреЗрд▓ рдореЗрдВ рдЖрддреА рд╣реИрдВред рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рдЖрдорддреМрд░ рдкрд░ рд╕рд╕реНрддреА рд╣реИрдВред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬреЛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЫреЛрдЯрд╛, рд▓реЗрдХрд┐рди рдПрдХ рддрдХрдиреАрдХ рдХреЗ рдмрдЬрд╛рдп рдмрдВрдж рд╣реЛрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЦрд░рд╛рдм рд╢реИрд▓реА рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрднреА-рдХрднреА рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░рд╡рд╛рд╣рд╛ рдХреВрдЯ рдФрд░ рд╕рд┐рдиреЗрдорд╛ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрджрд┐ рдЦреБрд▓реЗрдкрди-рдирд┐рдХрдЯрддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╢реИрд▓реА рдХрд╛ рддреНрдпрд╛рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
RTTI рдЦрддрд░рдирд╛рдХ рд╣реИ
рдПрдХ рдЕрдиреНрдп рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд╖реЗрдз dynamic_cast
рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред рдмрд╣реБрдд рдмрд╛рд░, dynamic_cast
рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд░рдирдЯрд╛рдЗрдо рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рдг (рдЖрд░рдЯреАрдЯреАрдЖрдИ) рдкрд░ рдПрдХ рдЕрддреНрдпрдВрдд рдЦрддрд░рдирд╛рдХ рддрдХрдиреАрдХ рд╣реЛрдиреЗ рдХрд╛ рдЖрд░реЛрдк рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЯрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрд╕реА рд╕рдордп, рд╡реЗ рдЕрдХреНрд╕рд░ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 9 рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЦреБрд▓реЗрдкрди-рдирд┐рдХрдЯрддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реВрдЪреА 10 рдПрдХ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рдЦреБрд▓реЗ-рдмрдВрдж рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдП рдмрд┐рдирд╛ dynamic_cast
рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЙрдирдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд▓рд┐рд╕реНрдЯ 9 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд░ рдмрд╛рд░ рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, Shape
рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдирдпрд╛ рд╡рдВрд╢ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ (рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╕рдорд╛рдзрд╛рди рд╣реИ)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 10 рдореЗрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕реВрдЪреА 10 рдореЗрдВ рдХреЛрдб рдЦреБрд▓реЗ-рдмрдВрдж рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдВрдЧреВрдареЗ рдХрд╛ рдирд┐рдпрдо рдпрд╣ рд╣реИ рдХрд┐ рдЖрд░рдЯреАрдЯреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдЦреБрд▓реЗрдкрди-рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдореИрдВ рдЦреБрд▓реЗрдкрди-рдШрдирд┐рд╖реНрдарддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмрд╛рдд рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ, рдпрд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рддрдХрдиреАрдХ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН рдкреБрди: рдЙрдкрдпреЛрдЧ рдФрд░ рд╕рдорд░реНрдердиред
, - -. , , , , , .