рдкреБрд╕реНрддрдХ "рдкреИрдЯрд░реНрди рдХреЗ рд╡рд╕реНрддреБ рдЙрдиреНрдореБрдЦ рдбрд┐рдЬрд╛рдЗрди"

рдЫрд╡рд┐рд╣реИрд▓реЛ, рд╣рдмреНрд░реЛрдЬрд╝рд┐рдЯреЗрд▓реА! рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдХреЗ рдкрд╣рд▓реЗ рдкреНрд░рд┐рдВрдЯ рд░рди рдХреЛ 25 рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╛рд▓ рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рд▓реЛрдХрдкреНрд░рд┐рдп рд╕реЗ рдкреБрд╕реНрддрдХ рдПрдХ рдкрдВрде рдореЗрдВ рдмрджрд▓ рдЧрдИред рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЗрд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдкрдврд╝рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рдЬреАрд╡рди рдХреЛ рд╕реВрдЪрдирд╛ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдЖрдИрдЯреА рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА "рд░реВрд╕реА" рднрд╛рд╖рд╛ рдмрджрд▓ рдЧрдИ рд╣реИ, рдХрдИ рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрдж рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЧрдП рд╣реИрдВ, рдкреИрдЯрд░реНрди рд╣рдорд╛рд░реЗ рдЬреАрд╡рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рдкреБрд╕реНрддрдХ рдХреЗ рдЕрдкрдбреЗрдЯреЗрдб рдЕрдиреБрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрд╖рдЧрд╛рдВрда рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдЕрд╡рд╢реНрдп рдкрдврд╝реЗрдВред "рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдкреИрдЯрд░реНрди" рдиреЗ "рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рддрдХрдиреАрдХ" рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ред

рдЪрд╛рд░ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ - рдЪрд╛рд░ рдХрд╛ рдПрдХ рдЧрд┐рд░реЛрд╣ - рддреЗрдИрд╕ рдкреИрдЯрд░реНрди рдХреЗ рд░реВрдк рдореЗрдВ рдУрдУрдкреА рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдЕрдкрдиреЗ рдзреНрдпрд╛рди рдореЗрдВ рд▓рд╛рдПрдВред рдкреИрдЯрд░реНрди рджрд┐рдЦрд╛рдИ рджрд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рдЪреАрд▓реЗрдкрди рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рдереЗред рд▓реЗрдЦрдХ рди рдХреЗрд╡рд▓ рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рджреНрдзрд╛рдВрдд рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рднреА рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдкреИрдЯрд░реНрди рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВрдЧреЗ рдФрд░ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдЬрд▓реНрджреА рд╕реЗ рдФрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рд╕рднреА рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рд╕реЗ рд▓рд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрднреНрдпрд╛рд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред C ++ рдпрд╛ рд╕реНрдорд╛рд▓рдЯрд╛рдХ рдХреЛрдб рдкреНрд░рддреНрдпреЗрдХ рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рдиред

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рдкреБрд╕реНрддрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рд░рд▓ рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред

рдкреИрдЯрд░реНрди рджрд┐рдЦрд╛рдИ рджрд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рдЪреАрд▓реЗрдкрди рдФрд░ рдбрд┐рдЧреНрд░реА рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рдереЗред рдкрд╛рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рдореЗрдВ рд╕рдиреНрдирд┐рд╣рд┐рдд рд╣реИрдВред рдж рдЧреИрдВрдЧ рдСрдлрд╝ рдлреЛрд░ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдкреИрдЯрд░реНрди рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдм рд╡рд╛рд╕реНрддреБрдХрд╛рд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкреИрдЯрд░реНрди рдХреЗ рдЖрд▓рдВрдХрд╛рд░рд┐рдХ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкреБрд╕реНрддрдХ рджреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдмрдирд╛рдиреЗ рдореЗрдВ рдкреИрдЯрд░реНрди рдХреА рднреВрдорд┐рдХрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред

рджреВрд╕рд░реЗ, рдпрд╣ рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХреЛ рдореИрдиреБрдЕрд▓ рдореЗрдВ рдирд┐рд╣рд┐рдд рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

2020 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ?

  • рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдХреЗ "рдкреБрдирд░реНрдЧрдарди" рдХреЗ рд▓рд┐рдП, рд╢рдмреНрдж "рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ" рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░реВрдЯ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╢реЗрдпрд░ рдХреЗ рд▓рд┐рдП - "рдЬреБрджрд╛рдИ" рдХреЗ рдмрдЬрд╛рдп "рд╕рд╛рдЭрд╛рдХрд░рдг", рдФрд░ рдорд┐рдХреНрд╕рд┐рди рдХреЗ рд▓рд┐рдП - "рдкреНрд░рд╡реЗрд╢");
  • рдЕрджреНрдпрддрди рд╢реИрд▓реА;
  • рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рднрд╛рд░реА рд╢рдмреНрджреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рд╡рд┐рдирд┐рд░реНрджреЗрд╢" рдпрд╛ "рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛ред" рдкрд╣рд▓реЗ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ "рдкрд░рд┐рднрд╛рд╖рд╛" рдХреЗ рд╕рд╛рде рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ "рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд╕рд╛рде");
  • рдкреБрд╕реНрддрдХ рдХреЛ рдЖрдЦрд┐рд░рдХрд╛рд░ "рдСрдмреНрдЬреЗрдХреНрдЯ рдУрд░рд┐рдПрдВрдЯреЗрдб рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреИрдЯрд░реНрди рдЯреЗрдореНрдкрд▓ рд╡рд┐рдзрд┐ (рдЕрд╕реНрдерд╛рдпреА рд╡рд┐рдзрд┐)


рдкреИрдЯрд░реНрди рдХрд╛ рдирд╛рдо рдФрд░ рд╡рд░реНрдЧреАрдХрд░рдг

рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрджреНрдзрддрд┐ рд╡рд░реНрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкреИрдЯрд░реНрди рд╣реИред

рдЙрджреНрджреЗрд╢реНрдп

рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЖрдзрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЛ рд╕рдордЧреНрд░ рд░реВрдк рдореЗрдВ рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХреБрдЫ рдЪрд░рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рдкреНрд░реЗрд░рдгрд╛

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдврд╛рдВрдЪреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд░реНрдЧ рд╣реИрдВред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд░реНрдЧ рдмрд╛рд╣рд░реА рд╕реНрд╡рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдореМрдЬреВрджрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдореЗрдВ)ред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рдврд╛рдВрдЪреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдПрдбрд┐рдЯрд░ рдбреНрд░рд╛рдРрдкреНрд▓реЗрд╢рди рдФрд░ рдбреНрд░рд╛рдбрдХреНрд▓реЗрдореЗрдВрдЯрдореЗрдВрдЯ рдХреЗ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯрдПрдкреНрд▓реАрдХреЗрд╢рди рдФрд░ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯрдбрдХреНрд▓реЗрдореЗрд╢рди рдХреЗ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЫрд╡рд┐

рд╕рд╛рд░ рд╡рд░реНрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧ OpenDocument рдСрдкрд░реЗрд╢рди рдореЗрдВ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЦреЛрд▓рдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:

void Application::OpenDocument (const char* name) {
      if (!CanOpenDocument(name)) {
          //   
          return;
      }

      Document* doc = DoCreateDocument();

      if (doc) {
          _docs->AddDocument(doc);
          AboutToOpenDocument(doc);
          doc->Open();
          doc->DoRead();
      }
}

OpenDocument рдСрдкрд░реЗрд╢рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЦреЛрд▓рдиреЗ рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЦреЛрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рддрд╛ рд╣реИред

рдкреНрд░рдкрддреНрд░ OpenDocument рдХреЗ рдПрдХ рдСрдкрд░реЗрд╢рди рдХреЛ рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдк-рд╡рд░реНрдЧ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдЕрдореВрд░реНрдд рд╕рдВрдЪрд╛рд▓рди рдХреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд░реНрдЧ рдХреЗ рдЙрдкрд╡рд░реНрдЧ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ (CanOpenDocument) рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ (DoCreateDocument) рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд░реНрдЧ рдХреЗ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ (DoRead) рдХреЛ рдкрдврд╝рд╛ред рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдПрдХ рдСрдкрд░реЗрд╢рди рдХреЛ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЛ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЦреЛрд▓рд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ (AboutToOpenDocument)ред

рдЕрдореВрд░реНрдд рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХреБрдЫ рдЪрд░рдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдЙрдирдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдкрдХрдбрд╝рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рдкреНрд░рдпреЛрдЬреНрдпрддрд╛

рдкреИрдЯрд░реНрди рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрджреНрдзрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рд╢рд░реНрддреЗрдВ:

  • рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рднрд╛рдЧреЛрдВ рдХрд╛ рдПрдХ рдПрдХрд▓ рдЙрдкрдпреЛрдЧ, рдЬрдмрдХрд┐ рдмрджрд▓рддреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рд░рд╣рддрд╛ рд╣реИ;
  • рдХреЛрдб рджреЛрд╣рд░рд╛рд╡ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд▓рд┐рдпрдо рдУрдкрд┐рдбрдХреЗ рдФрд░ рд░рд╛рд▓реНрдл рдЬреЙрдирд╕рди [OJ93] рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рддрдХрдиреАрдХ рдХреЛ "рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░реИрдХреЗрдЯрд┐рдВрдЧ" рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдкрд╣рд▓реЗ, рдореМрдЬреВрджрд╛ рдХреЛрдб рдореЗрдВ рдЕрдВрддрд░ рд╕рд╛рдордиреЗ рдЖрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдСрдкрд░реЗрд╢рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдВрддрддрдГ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рдирдП рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдЙрдкрд╡рд░реНрдЧ рд╡рд┐рд╕реНрддрд╛рд░ рдкреНрд░рдмрдВрдзрдиред рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╣реБрдХ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ - рдкрд░рд┐рдгрд╛рдо рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВ - рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреБрдУрдВ рдкрд░, рдЬрд┐рд╕рд╕реЗ рдХреЗрд╡рд▓ рдЗрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛ рд╕рдХреЗред

рд╕рдВрд░рдЪрдирд╛

рдЫрд╡рд┐

рдкреНрд░рддрд┐рднрд╛рдЧреА

AbstractClass (рдЕрдиреБрдкреНрд░рдпреЛрдЧ) - рд╕рд╛рд░ рд╡рд░реНрдЧ:

  • рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдореВрд░реНрдд рдЖрджрд┐рдо рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ;
  • рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХрдВрдХрд╛рд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдЖрджрд┐рдо рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдмреБрд▓рд╛рддреА рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдПрдмреНрд╕рдЯреНрд░реИрдХреНрдЯ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдпрд╛ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдВрдЪрд╛рд▓рди;

рдХрдВрдХреНрд░реАрдЯрдХреНрд▓рд╛рд╕ (MyApplication) - рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдЧ:

  • рдкреНрд░рд╛рдЗрдорд░реА рдСрдкрд░реЗрд╢рдВрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдПрдХ рддрд░рд╣ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЙрдкрд╡рд░реНрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред



рдХрдВрдХреНрд░реАрдЯрдХреНрд▓рд╛рд╕ рд╕рдВрдмрдВрдз рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЪрд░рдг AbstractClass рдореЗрдВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдкрд░рд┐рдгрд╛рдо

рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐рдпрд╛рдБ рдХреЛрдб рдХреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдореВрд▓рднреВрдд рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВред рд╡реЗ рдХрдХреНрд╖рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рдЯреЗрдореНрдкреНрд▓реЗрдЯ рддрд░реАрдХреЗ рдПрдХ рдЙрд▓реНрдЯреЗ рдХреЛрдб рд╕рдВрд░рдЪрдирд╛ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдХрднреА-рдХрднреА рд╣реЙрд▓реАрд╡реБрдб рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рд╣рдореЗрдВ рдХреЙрд▓ рди рдХрд░реЗрдВ, рд╣рдо рдЖрдкрдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ" рдЕрдХреНрд╕рд░ рдЗрд╕ рдлрд┐рд▓реНрдо рд╕рд╛рдореНрд░рд╛рдЬреНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ [Swe85]ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореВрд▓ рд╡рд░реНрдЧ рдЙрдкрд╡рд░реНрдЧ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред

рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдердбреНрд╕ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдкрд░реЗрд╢рди рдХрд╣рддреЗ рд╣реИрдВ:

  • рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЪрд╛рд▓рди (рдпрд╛ рддреЛ рдХрдВрдХреНрд░реАрдЯрдХреНрд▓рд╛рд╕ рд╡рд░реНрдЧ рд╕реЗ, рдпрд╛ рдЧреНрд░рд╛рд╣рдХ рд╡рд░реНрдЧреЛрдВ рд╕реЗ);
  • AbstractClassass рд╡рд░реНрдЧ (рдЕрд░реНрдерд╛рдд, рд╕рднреА рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╕рдВрдЪрд╛рд▓рди) рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЪрд╛рд▓рди;
  • рдЖрджрд┐рдо рд╕рдВрдЪрд╛рд▓рди (рдпрд╛рдиреА рдЕрдореВрд░реНрдд рд╕рдВрдЪрд╛рд▓рди);
  • рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ (рдлреИрдХреНрдЯрд░реА рд╡рд┐рдзрд┐ рдкреИрдЯрд░реНрди (135) рджреЗрдЦреЗрдВ);
  • рд╣реБрдХ рд╕рдВрдЪрд╛рд▓рди рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдХреНрд╕рд░, рдРрд╕рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдСрдкрд░реЗрд╢рди рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЦрд╛рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣реБрдХ рд╕рдВрдЪрд╛рд▓рди (рдЬрд┐рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдФрд░ рд╕рд╛рд░ рд╕рдВрдЪрд╛рд▓рди (рдЬрд┐рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП) рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рддрд╛ рд╣реИред рдЕрдзрд┐рдХрддрдо рджрдХреНрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрд╡рд░реНрдЧ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИред

рдПрдХ рдЙрдкрд╡рд░реНрдЧ рдПрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрдврд╝рд╛рдХрд░ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореВрд▓ рд╡рд░реНрдЧ рд╕реЗ рдСрдкрд░реЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

void DerivedClass::Operation () {
      //   DerivedClass
      ParentClass::Operation();
}

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдСрдкрд░реЗрд╢рди рдХреЛ рдмрд╛рдпрд▓рд░рдкреНрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдореЗрдВ рддрдмреНрджреАрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдпрд╣ рдмрддрд╛ рд╕рдХреЗрдВ рдХрд┐ рдЙрдкрд╡рд░реНрдЧ рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рдореВрд▓ рдХрдХреНрд╖рд╛ рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрджреНрдзрддрд┐ рд╕реЗ рд╣реБрдХ рд╕рдВрдЪрд╛рд▓рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рддрдм рдЙрдк-рд╡рд░реНрдЧ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ:

void ParentClass::Operation () {
      //  ParentClass
      HookOperation();
}

рдкреИрд░реЗрдВрдЯ рдХреНрд▓рд╛рд╕ рдкреИрд░реЗрдВрдЯрдХреНрд▓рд╛рд╕ рдореЗрдВ, рд╣реБрдХрдСрдкрд░реЗрд╢рди рдСрдкрд░реЗрд╢рди рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

void ParentClass::HookOperation () { }

рдЙрдкрд╡рд░реНрдЧ рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдХрдСрдкрд░реЗрд╢рди рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЧрдП:

void DerivedClass::HookOperation () {
   //    
}

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдЬрдм рдПрдХ рдкреИрдЯрд░реНрди рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╣рд▓реБрдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП:

  • C++. , , . , . , , . , -;
  • . , . , ;
  • рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛ред рдЖрдк рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдирдХреЗ рдирд╛рдореЛрдВ рдореЗрдВ рдЙрдкрд╕рд░реНрдЧ рдЬреЛрдбрд╝рдХрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Macintosh рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ [App89] рдХреЗ рд▓рд┐рдП MacApp рдврд╛рдВрдЪреЗ рдореЗрдВ, рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдХреЗ рдирд╛рдо Do prefix: DoCreateDocument, DoRead, рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд C ++ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрднрд┐рднрд╛рд╡рдХ рд╡рд░реНрдЧ рдЕрдкрдиреЗ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдкрд░ рдПрдХ рдЖрдХреНрд░рдордгрдХрд╛рд░реА рдХреИрд╕реЗ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг NeXT AppKit рд▓рд╛рдЗрдмреНрд░реЗрд░реА [Add94] рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рджреГрд╢реНрдп рд╡рд░реНрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдХрд┐ рдЙрдкрд╡рд░реНрдЧ рдХреЗрд╡рд▓ рджреГрд╢реНрдп рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд╣реЛред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреНрд░рд╛рдЗрдВрдЧ рд╕рдВрджрд░реНрдн рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рдВрдЧ рдФрд░ рдлрд╝реЙрдиреНрдЯ)ред

рдЖрдк рд░рд╛рдЬреНрдп рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдбрд┐рд╕реНрдкреНрд▓реЗ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реНрдпреВ рдХреНрд▓рд╛рд╕ рджреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдСрдкрд░реЗрд╢рди (рд╕реЗрдЯрдлреЛрдХрд╕ рдФрд░ рд░реЗрд╕реЗрдЯрдлреЛрдХрд╕) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХреНрд░рдорд╢рдГ рдбреНрд░рд╛рдЗрдВрдЧ рд╕рдВрджрд░реНрдн рдХреЛ рд╕реЗрдЯ рдФрд░ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рд╡реНрдпреВ рдХреНрд▓рд╛рд╕ рдХрд╛ рд╡реНрдпреВ рд╣реБрдХ рдСрдкрд░реЗрд╢рди рдбреНрд░рд╛рдЗрдВрдЧ рд╣реА рдХрд░рддрд╛ рд╣реИред рд╕рдВрджрд░реНрдн рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DoDisplay рд╕реЗ рдкрд╣рд▓реЗ SetFocus рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DoDisplay рдХреЗ рдмрд╛рдж ResetFocus:

void View::Display () {
      SetFocus();
      DoDisplay();
      ResetFocus();
}

рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реНрдпреВ рдХреНрд▓рд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣рдореЗрд╢рд╛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреЗрдЦреЗрдВ рдЙрдкрд╡рд░реНрдЧ рд╣рдореЗрд╢рд╛ DoDisplay рдХреА рдЬрдЧрд╣ рд▓реЗрддреЗ рд╣реИрдВред

рд╡реНрдпреВ рдХреНрд▓рд╛рд╕ рдореЗрдВ, DoDisplay рдСрдкрд░реЗрд╢рди рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

void View::DoDisplay () { }

рдЙрдкрд╡рд░реНрдЧ рдЕрдкрдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреНрд░рд╛рдЗрдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддреЗ рд╣реИрдВ:

void MyView::DoDisplay () {
      //   
}

рдЬреНрдЮрд╛рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ

рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЗрддрдиреА рдореМрд▓рд┐рдХ рд╣реИрдВ рдХрд┐ рд╡реЗ рд▓рдЧрднрдЧ рд╣рд░ рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ рдореЗрдВ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред рд░реЗрдмреЗрдХрд╛ Wirfs- рдмреНрд░реЙрдХ рдПрдЯ рдЕрд▓ред [WBWW90, WBJ90] рдЯреЗрдореНрдкрд▓реЗрдЯ рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдВрдмрдВрдзрд┐рдд рдкреИрдЯрд░реНрди

рдлреИрдХреНрдЯрд░реА рддрд░реАрдХреЗ (135) рдХреЛ рдЕрдХреНрд╕рд░ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рд╡рд┐рдзрд┐рдпреЛрдВ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░реЗрд░рдгрд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, OpenDocument рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдХрд╛рд░рдЦрд╛рдирд╛ DoCreateDocument рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рд░рдгрдиреАрддрд┐ (362): рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рдзрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рднрд╛рдЧ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдгрдиреАрддрд┐рдпрд╛рдБ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред

┬╗рдкреБрд╕реНрддрдХ рдХреА рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдХрд╛рд╢рдХ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ
┬╗ рд╕рд╛рдордЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛
┬╗ рдЦрд╝рдмрд░реЛрдЭреАрддреЗрд▓реЗ рдХреЗ рд▓рд┐рдП рдЕрдВрд╢

рдХреВрдкрди рд╕реЗ 25% рдХреА рдЫреВрдЯ - OOP

рдкреБрд╕реНрддрдХ рдХреЗ рдкреЗрдкрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рднреБрдЧрддрд╛рди рдкрд░, рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдкреБрд╕реНрддрдХ рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред

All Articles