рдПрдХ рдмрд╛рд░ рдлрд┐рд░ Lisk рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдпрд╛ OOP рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╢рдмреНрджрд╛рд░реНрде

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

рдЖрдорддреМрд░ рдкрд░, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реЗ рдЖрдпрдд рд╡рд░реНрдЧ рд╕реЗ рд╡рд░реНрдЧ рд╡рд░реНрдЧ рдХреА рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред

рд╣рдореЗрдВ рдПрдХ рдЖрдпрдд рд╢реНрд░реЗрдгреА рджреЗрдВ:

class Rectangle: def __init__(self, width, height): self._width = width self._height = height def set_width(self, width): self._width = width def set_height(self, height): self._height = height def get_area(self): return self._width * self._height ... 

рдЕрдм рд╣рдо рд╕реНрдХреНрд╡рд╛рдпрд░ рд╡рд░реНрдЧ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдХреНрд╖реЗрддреНрд░ рдЧрдгрдирд╛ рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдпрдд рд╕реЗ рд╕реНрдХреНрд╡рд╛рдпрд░ рдХреЛ рд╡рд╛рд░рд┐рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИ:

 class Square(Rectangle): def set_width(self, width): self._width = width self._height = width def set_height(self, height): self._width = height self._height = height 

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд╡рд╛рдпрд░ рдФрд░ рдЖрдпрдд рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдХреЛрдб рд╕реБрд╕рдВрдЧрдд рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд╡рд╛рдпрд░ рд╡рд░реНрдЧ рдХреЗ рдЧрдгрд┐рддреАрдп рдЧреБрдгреЛрдВ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдФрд░ рдПрдХ рдЖрдпрддред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдЖрдпрдд рдХреЗ рдмрдЬрд╛рдп рд╕реНрдХреНрд╡рд╛рдпрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЖрдпрдд рд╡рд░реНрдЧ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб рд╣реИ:

 def client_code(rect): rect.set_height(10) rect.set_width(20) assert rect.get_area() == 200 

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

рдпрджрд┐ рд╡рд░реНрдЧ рд╡рд░реНрдЧ рдЖрдпрдд рд╡рд░реНрдЧ рдХрд╛ рд╡рдВрд╢рдЬ рд╣реИ, рддреЛ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдФрд░ рдЖрдпрдд рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдирд╛, рд╣рдореЗрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдПрдХ рдЖрдпрдд рдирд╣реАрдВ рд╣реИред

рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

  1. рдХрдХреНрд╖рд╛ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рдЕрдЧрд░ рдпрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рддреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ
  2. рд╕реНрдХреНрд╡рд╛рдпрд░ рдореЗрдВ, set_size () рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдБ рдФрд░ set_height, set_width рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡реЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлреЗрдВрдХ рджреЗрдВ
    рдЖрджрд┐ рдЖрджрд┐

рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдФрд░ рдРрд╕реЗ рд╡рд░реНрдЧ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдХреЛрдб рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реЛрдЧрд╛ред

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

рд╕рдордп рдХреЗ рд╕рд╛рде, рд╣рдо рдпрд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • рд╡рдВрд╢рдЬ рд╡рд░реНрдЧ рдЕрдзрд┐рдХрд╛рдВрд╢ рддрд░реАрдХреЛрдВ рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛
  • рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдиреЗ рдпрд╛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╡рдВрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛
  • рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдореЗрдВ ifs рд╣реЛрдЧрд╛, рд╡рд╕реНрддреБ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ, рдФрд░ рд╡рдВрд╢рдЬреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдЕрд▓рдЧ рд╣реИ

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

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

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

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

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

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

рдпрд╛рдиреА рдРрд╕реЗ рд╡рд░реНрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ:

 class Rectangle: def draw(): ... def get_area(): ... class Square(Rectangle): pass 

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

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░ рдХреЛ "рдЖрдИрдПрд╕" рд░рд┐рд╢реНрддреЗ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдмреАрдЪ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдмреАрдЪред рдФрд░ рдХреНрдпрд╛ рд╡рдВрд╢рдЬ рд╡рд░реНрдЧ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрдкрдкреНрд░рдХрд╛рд░ рд╣реИ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддрд┐рдмрдВрдз рдФрд░ рд╡рд░реНрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ (рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред

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

рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрдердХ рдХреЛрдИ рднреА рдХреЛрдб рдирд╣реАрдВ рдЯреВрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ рдПрдХ рдбрд┐рд╕реЗрдВрдбреНрд░реЗрдВрдЯ рдХреНрд▓рд╛рд╕ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдмрджрд▓ рджреЗрдВред рд╕рд╛рд░реНрдердХ рдХреЛрдб рдХреЛрдИ рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рд╣реИ рдЬреЛ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рдФрд░ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рджрд╛рдпрд░реЗ рдХреЗ рднреАрддрд░ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ (рдФрд░ рдЙрд╕рдХреЗ рд╡рдВрд╢рдЬ) рдХреА рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рд╕рдордЭрдирд╛ рдмреЗрд╣рдж рдЬрд░реВрд░реА рд╣реИ рдХрд┐ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдореЗрдВ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рдЕрдореВрд░реНрддрддрд╛ рдХреА рд╕реАрдорд╛рдПрдВ рдЖрдорддреМрд░ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред рдпреЗ рдкреНрд░рддрд┐рдмрдВрдз рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдордЭреЗ, рдЬрд╛рдиреЗ рдФрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рдпрд╣ рдЕрдореВрд░реНрддрддрд╛ рдФрд░ рдХреЛрдб рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИред рдХреЛрдб рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЖрдпрдд рдореЗрдВ рдПрдХ рдФрд░ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рджреГрд╢реНрдп рдХреЛ json рдореЗрдВ рд▓реМрдЯрд╛рддреА рд╣реИ

 class Rectangle: def to_dict(self): return {"height": self.height, "width": self.width} 

рдФрд░ рд╕реНрдХреНрд╡рд╛рдпрд░ рдореЗрдВ рд╣рдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

 class Square: def to_dict(self): return {"size": self.height} 

рдпрджрд┐ рд╣рдо рдЖрдпрдд рд╡рд░реНрдЧ to_json рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЕрдиреБрдмрдВрдз рдХреЛ рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдорд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдб

 r = rect.to_dict() log(r['height'], r['width']) 

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

рдпрджрд┐ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдпрдд рд╡рд░реНрдЧ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдореВрд▓ рдЕрдиреБрдмрдВрдз рдпрд╣ рд╣реИ рдХрд┐ to_dict рдПрдХ рдРрд╕рд╛ рд╢рдмреНрджрдХреЛрд╢ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рд░рдЦреЗ рдмрд┐рдирд╛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдРрд╕реА in_dict рдкрджреНрдзрддрд┐ рдареАрдХ рд╣реЛрдЧреАред

рд╡реИрд╕реЗ, рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдорд┐рдердХ рдХреЛ рдирд╖реНрдЯ рдХрд░рдирд╛ рдЬреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЙрд▓реНрд▓рдВрдШрди рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред

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

рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдЕрдиреБрдмрдВрдз рдФрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рднреА рд╢рд░реНрддреЛрдВ рдХреЛ рдХреЛрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рд╕рднреА рдХреЛрдб рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рд╣реА рдЭреВрда рд╣реЛрддреЗ рд╣реИрдВ - рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдФрд░ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред The_dict рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬрд╣рд╛рдВ рдЕрдиреБрдмрдВрдз рдХреЛ рдХреЛрдб рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреЗрдЯ_рд╣рд╛рд╢ рд╡рд┐рдзрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИрд╢ рдХреЗ рд╕рднреА рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реИрд╢ рд▓реМрдЯрд╛рддреА рд╣реИ, рдФрд░ рди рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐, рдЕрд╕рдВрднрд╡ рд╣реИред

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

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

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рдВрд╢рдЬ рд╡рд░реНрдЧ рд╡рд┐рдзрд┐ рдореЗрдВ, рд╣рдо рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдирд╣реАрдВ рдерд╛ - рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдкреВрд░реНрд╡ рд╢рд░реНрдд рдХреЛ рдХреИрд╕реЗ рдордЬрдмреВрдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╛ рд╣рдо рдУрд╡рд░рд░рд╛рдЗрдб рд╡рд┐рдзрд┐ рдореЗрдВ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдлреЗрдВрдХ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреЗ рдЖрдХреНрд░рдордгрдХрд╛рд░рд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрдиред рдЖрджрд┐

рдЬреЛ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рд╡рд╣ рд╡рд░реНрдЧ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╡рд░реНрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рддрд╛рддреНрдкрд░реНрдп рд╣реИ рд╡рд░реНрдЧ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдпрд╛ рд╢рдмреНрджрд╛рд░реНрдеред

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

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдпрдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реИ, рдФрд░ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбреЗрд╡рд▓рдкрд░ рд╣реИ рдЬреЛ рдЖрдпрдд рд╕реЗ рд╕реНрдХреНрд╡рд╛рдпрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЙрд╕ рд╕рдордп рдЬрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЖрдпрдд рд╕реЗ рд╕реНрдХреНрд╡рд╛рдпрд░ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ - рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛, рдХрдХреНрд╖рд╛рдУрдВ рдиреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд┐рдпрд╛ред

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

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

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

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

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

рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдореЗрдВ, рдХреБрдЫ рдирд┐рдпрдо рд╣реИрдВ рдЬреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рднреА рдЦрддрд░рдирд╛рдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдпрдерд╛рд╕рдВрднрд╡ рдЕрдкрдиреА рд░рдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C ++ рдХреЗ рд▓рд┐рдП, рдУрд▓реЗрдЧ рдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ред рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдРрд╕реЗ рдирд┐рдпрдо рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╢рд╛рд╕реНрддреНрд░реАрдп рдЕрд░реНрдереЛрдВ рдореЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред

рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХрд╛рд░реНрдп рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдпрд╣рд╛рдБ рдЖрдк рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдВрдХрд▓ рдорд╛рд░реНрдЯрд┐рди рдиреЗ C ++ рдореЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдФрд░ рдХреИрд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

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

 class Task: def close(self): self.status = CLOSED ... class ProjectTask(Task): def close(self): if status == STARTED: raise Exception("Cannot close a started Project Task") ... 

ProjectTask рдХреА рдХрд░реАрдмреА рд╡рд┐рдзрд┐ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЕрдкрд╡рд╛рдж рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧреА рдЬрд┐рдирдореЗрдВ рдЯрд╛рд╕реНрдХ рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБрдПрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдореЗрдВ рдЕрдХреНрд╕рд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдмрдирддреА рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдХреЛ "рдЖрдИрдПрд╕" рд░рд┐рд╢реНрддреЗ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдорд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдХреЛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВред рдпрд╛рдиреА рдПрдХ рдЙрдкрд╡рд░реНрдЧ рд╕рд┐рд░реНрдл рдПрдХ рдЙрдкрд╡рд░реНрдЧ рд╣реИ, рдПрдХ рдЙрдкрдкреНрд░рдХрд╛рд░ рдирд╣реАрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдЕрдзрд┐рдХ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб рд╣реЛрдЧрд╛ рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж рд╣реИ рдЬреЛ рд╡рдВрд╢рдЬ рд╡рд░реНрдЧ рдФрд░ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЕрд░реНрдереЛрдВ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдЧрд╛?

рдХреНрдпрд╛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рд╣реИрдВ рдЬреЛ рдПрдХ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдо рд╡рдВрд╢рдЬ рдХреНрд▓рд╛рд╕ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ? рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдРрд╕реЗ рдХреЛрдб рдХрднреА рднреА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

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

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

Source: https://habr.com/ru/post/hi463385/


All Articles