рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!
рдЖрдЬ, рдПрдХ рдЕрдиреБрд╡рд╛рджрд┐рдд рдкреНрд░рдХрд╛рд╢рди рдЖрдкрдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рдХреБрдЫ рд╣рдж рддрдХ OOP рдФрд░ FI рдкрд░ рдирдИ рдкреБрд╕реНрддрдХреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣рдорд╛рд░реА рдЦреЛрдЬреЛрдВ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдорддрджрд╛рди рдореЗрдВ рднрд╛рдЧ рд▓реЗрдВред

рдХреНрдпрд╛ OOP рдкреНрд░рддрд┐рдорд╛рди рдореГрдд рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╡рд┐рд╖реНрдп рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рд▓реЗрдЦ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдЕрд╕рд╣рдордд рд╣реВрдВред рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ!
рд╣рд░ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдореБрдЭреЗ рдХреБрдЫ рдмреНрд▓реЙрдЧ рдкрд░ рдПрдХ рдкреЛрд╕реНрдЯ рдЖрддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рд▓реЗрдЦрдХ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡рд╣ OOP рдХреЛ рдЕрддреАрдд рдХрд╛ рдЕрд╡рд╢реЗрд╖ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рдо рд╕рднреА рдХреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ
рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ OOP рдФрд░ FI рдПрдХ-рджреВрд╕рд░реЗ рдХрд╛ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рдХрд░рддреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рдЗрди рд▓реЗрдЦреЛрдВ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ OOP рдХреЗ рд╕рд╛рде рдЗрддрдиреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреНрдпреЛрдВ рд╣реИрдВ, рдФрд░ AF рдЙрдиреНрд╣реЗрдВ рдРрд╕рд╛ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ?
OOP рдХреИрд╕реЗ рд╕рд┐рдЦрд╛рдпреЗ
рдЬрдм рд╣рдореЗрдВ рдУрдУрдкреА рд╕рд┐рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдЬреЛрд░ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЪрд╛рд░ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:
рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди ,
рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ ,
рдПрдмреНрд╕реНрдЯреНрд░рдХреНрд╢рди ,
рдкреЙрд▓рд┐рдореЙрд░реНрдлрд┐рдЬреНрдо ред рдпрд╣ рдЗрди рдЪрд╛рд░ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреА рдЖрдорддреМрд░ рдкрд░ рдЙрди рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЖрд▓реЛрдЪрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдЬрд╣рд╛рдВ рд▓реЗрдЦрдХ рдкреАрдПрд▓рдУ рдХреА рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рдХрд╛рд░рдг рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, FI рдХреА рддрд░рд╣ OOP рдПрдХ рдЯреВрд▓ рд╣реИред рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рдХрд╛ рд╕реЗрд╡рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧрд▓рдд рдЕрдореВрд░реНрддрддрд╛ рдкреИрджрд╛ рдХрд░рдХреЗ, рдЖрдк рдУрдУрдкреА рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рддреЛ,
Square
рд╡рд░реНрдЧ рдХреЛ
Rectangle
рд╡рд░реНрдЧ рдХреЛ рдХрднреА рднреА рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЧрдгрд┐рддреАрдп рдЕрд░реНрде рдореЗрдВ, рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╡реЗ рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рд╕рдВрдмрдВрдз рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдЖрдпрдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╕рдЦреНрдд рд╣реИрдВред рдЬрдмрдХрд┐ рдПрдХ рдЖрдпрдд рдореЗрдВ рджреЛ рдЬреЛрдбрд╝реА рд╕рдорд╛рди рднреБрдЬрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ, рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рд╕рднреА рднреБрдЬрд╛рдПрдБ рд╕рдорд╛рди рд╣реЛрддреА рд╣реИрдВред
рд╡рд┐рд░рд╛рд╕рдд
рдЖрдЗрдП рд╡рд┐рд░рд╛рд╕рдд рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВред рдЖрдкрдХреЛ рд╢рд╛рдпрдж рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХрдХреНрд╖рд╛рдУрдВ рдХреА рд╕реБрдВрджрд░ рдкрджрд╛рдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдпрд╛рдж рд╣реИрдВ, рдФрд░ рдпреЗ рд╕рднреА рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рдЪрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдХреНрд╕рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╡рд░реНрдЧ рд╣реИ, рдЬреЛ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдзреБрдирд┐рдХ рдврд╛рдВрдЪреЗ рдпрд╣ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ:
class BlogController extends FrameworkAbstractController { }
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЙрд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛
this.renderTemplate(...)
, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ
FrameworkAbstractController
рдХреНрд▓рд╛рд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрдИ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрдИ рдореВрд░реНрдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдпрд╣рд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдХреЛрдИ рднреА рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдкреАрдЖрдИ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣ рдЕрдм рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддрд╛ред рдЖрдзрд╛рд░ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд░рдХреНрд╖рд┐рдд рдЪрд░ рдЕрдм рдХрдореЛрдмреЗрд╢ рдПрдкреАрдЖрдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдВрдЧреЗред
рдЗрд╕рдореЗрдВ рднреНрд░рдорд┐рдд рд╣реЛрдиреЗ рдХреА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдФрд░ рдЕрдЧрд░ рд╣рдордиреЗ рд░рдЪрдирд╛ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЪреБрдирд╛, рддреЛ рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд┐рдХрд▓рд╛ рд╣реЛрдЧрд╛:
class BlogController { public BlogController ( TemplateRenderer templateRenderer ) { } }
рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ, рдЖрдк рдЕрдм рдХреБрдЫ рдзреВрдорд┐рд▓
FrameworkAbstractController
рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдФрд░ рд╕рдВрдХреАрд░реНрдг рдЪреАрдЬрд╝,
TemplateRenderer
рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ,
BlogController
рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ
BlogController
рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред
рдХреИрдкреНрд╕реВрд▓реАрдХрд░рдг
рдУрдУрдкреА рдХреА рджреВрд╕рд░реА рдмрд╛рд░ рдЖрд▓реЛрдЪрдирд╛ рдХреА рдЧрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рд╣реИред рд╕рд╛рд╣рд┐рддреНрдпрд┐рдХ рднрд╛рд╖рд╛ рдореЗрдВ, рдПрдиреНрдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХрд╛ рдЕрд░реНрде рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдбреЗрдЯрд╛ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдПрдХ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрдЧ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рд╕реЗ рдЫрд┐рдкреА рд╣реЛрддреА рд╣реИред
рдпрд╣ рдЕрд╡рд╕рд░, рдлрд┐рд░ рд╕реЗ, рдЙрдкрдпреЛрдЧ рдФрд░ рджреБрд░реБрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рджреБрд░реБрдкрдпреЛрдЧ рдХрд╛ рдореБрдЦреНрдп рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЯрдкрдХрд╛ рд╣реБрдЖ рд░рд╛рдЬреНрдп рд╣реИред
рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдмреЛрд▓, рдорд╛рди рд▓реЗрдВ рдХрд┐
List<>
рд╡рд░реНрдЧ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдФрд░ рдЗрд╕ рд╕реВрдЪреА рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЪрд▓рд┐рдП рдПрдХ рдЖрджреЗрд╢ рдЯреЛрдХрд░реА рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ:
class ShoppingCart { private List<ShoppingCartItem> items; public List<ShoppingCartItem> getItems() { return this.items; } }
рдпрд╣рд╛рдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдУрдУрдкреА-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрдЧрд╛: рдЖрдЗрдЯрдо рдЪрд░ рдХреЛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдЖрдЧреЗ рд╣рдо рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
shoppingCart.getItems().clear();
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯреЛрдХрд░реА рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдХреЛ рд╕рд╛рдл рдХрд░ рджреЗрдВрдЧреЗ, рдФрд░ рд╢реЙрдкрд┐рдВрдЧрдХрд╛рд░реНрдЯ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рднреА рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдХреЗрд╡рд▓ рдпрд╣рд╛рдВ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдВрддрд░рд┐рдХ рд░рд╛рдЬреНрдп рд╢реЙрдкрд┐рдВрдЧрдХрд╛рд░реНрдЯ рд╡рд░реНрдЧ рд╕реЗ рд▓реАрдХ рд╣реИред
рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ,
рд╢реЙрдкрд┐рдВрдЧрдХрд╛рд░реНрдЯ рд╡рд░реНрдЧ рдХреЗ рд▓реЗрдЦрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЕрдиреБрднрд╡рд╣реАрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЕрдХреНрд╕рд░ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддреЗ рд╣реИрдВ: рд╡реЗ рдПрдХ рд░рд╛рдЬреНрдп рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдРрд╕реЗ рдЕрдиреБрднрд╡рд╣реАрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЕрдХреНрд╕рд░ рдПрдХ рд╣реА рдХрдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдЬреА рд╡рд░реНрдЧ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд┐рд╕реА рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧрд╛ред рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХреЛрдб рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдмрдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд░рд╛рдЬреНрдп рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреВрд░ рд░рд╣рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ - рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ рддрдм рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдкрд░рд╕реНрдкрд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ, рдЖрдкрдХреЛ
рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдФрд░
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрд╣реАрдВ рднреА рдХреЛрдИ рд▓реАрдХ рди рд╣реЛред
рдорддрд┐рд╣реАрдирддрд╛
рдЕрдореВрд░реНрддрддрд╛, рдлрд┐рд░ рд╕реЗ, рдХрдИ рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭреА рдЬрд╛рддреА рд╣реИред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдкрдХреЛ рдЕрдореВрд░реНрдд рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЛ рд╕рд╛рдорд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рдореЗрдВ рдЧрд╣рд░реА рдкрджрд╛рдиреБрдХреНрд░рдо рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдЖрдк рдмрд┐рдирд╛ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╕ рдЕрдкрдиреЗ рд╣реА рд╕рд┐рд░ рдкрд░ рдореБрд╕реАрдмрдд рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЕрдореВрд░реНрдд рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдПрдХ рд╕рд╛рд░ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ; рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреЛрдб рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрдЯрд┐рд▓рддрд╛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдЗрд╕ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗрд╡рд▓ рддрднреА рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдЙрд╕ рд╕рдордп рдХреЛ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдФрд░ рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВ рдЬреЛ рдЙрд╕ рд╡рд░реНрдЧ рд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ рдЬреЛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рдВ, рдЖрдкрдиреЗ рдореБрдЭреЗ рд╕рд╣реА рдкрдврд╝рд╛ред рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдпрд╣ рднреА рд╡рд░реНрдгрди рдХрд░реЗрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ) рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдмрд╣реБрд░реВрдкрддрд╛
рдЕрдВрдд рдореЗрдВ, рдмрд╣реБрд░реВрдкрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдХрд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдПрдХ рд╡рд░реНрдЧ рдХрдИ рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЦрд░рд╛рдм рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдпрд╣ рд▓рд┐рдЦрдирд╛ рд╣реИ рдХрд┐ рдмрд╣реБрд░реВрдкрддрд╛ рдХреЗ рд╕рд╛рде
Square
рдпрд╛ рддреЛ рдПрдХ
Rectangle
рдпрд╛ рдПрдХ
Parallelogram
рдЪрддреБрд░реНрднреБрдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рдмрддрд╛рдпрд╛ рд╣реИ, рдУрдУрдкреА рдореЗрдВ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрд╕рдВрднрд╡ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрд▓рдЧ рд╣реИрдВред
рдмрд╣реБрд░реВрдкрддрд╛ рдХреА рдмрд╛рдд рдХрд░рддреЗ рд╣реБрдП, рдХрд┐рд╕реА рдХреЛ
рдХреЛрдб рдирд╣реАрдВ, рдмрд▓реНрдХрд┐
рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдХрдВрдкреНрдпреВрдЯрд░ рдЧреЗрдо рдореЗрдВ
Soldier
рдХреНрд▓рд╛рд╕ рд╣реИред рдпрд╣
Movable
рд╡реНрдпрд╡рд╣рд╛рд░ (рд╕реНрдерд┐рддрд┐: рдпрд╣ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдФрд░
Enemy
рд╡реНрдпрд╡рд╣рд╛рд░ (рд╕реНрдерд┐рддрд┐: рдЖрдкрдХреЛ рдЧреЛрд▓реА рдорд╛рд░рддрд╛ рд╣реИ) рджреЛрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд,
GunEmplacement
рд╡рд░реНрдЧ рдХреЗрд╡рд▓
Enemy
рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк
Square implements Rectangle, Parallelogram
рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХрдерди рд╕рддреНрдп рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЗ рддрд░реНрдХ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдлрдкреА рдЪрд╛рдВрджреА рдХреА рдЧреЛрд▓реА рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ
рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╣рдордиреЗ OOP рдХреЗ рдЪрд╛рд░ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛, рддреЛ рдЖрдЗрдП рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдХрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдЕрдкрдиреЗ рдХреЛрдб рдХреА рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
рдПрдлрдкреА рдХреЗ рдХрдИ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдХрдХреНрд╖рд╛рдПрдВ
рдкрд╡рд┐рддреНрд░ рд╣реИрдВ , рдФрд░ рдХреЛрдб рдХреЛ
рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рднрд╛рд╖рд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╛рдЗрдорд░реА рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛ рд╕реЗрдЯ (рд╕рд░рдгрд┐рдпреЛрдВ, рд╢рдмреНрджрдХреЛрд╢реЛрдВ, рдЖрджрд┐) рдХреЗ рд░реВрдк рдореЗрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕реНрдерд╛рди рдкрд░ рдбреЗрдЯрд╛ рдирд╣реАрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг
рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реЗ
рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ
рдХрд░рддрд╛ рд╣реИ - рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдПрдлрдкреА рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдУрдУрдкреА рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред FP рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЛрдб рд╕рд░рд▓ рдмрдирд╛ рд░рд╣реЗред рдЖрдк рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВ - рд╡рд╣ рд╕рдмред
рд╕рдорд╕реНрдпрд╛рдПрдВ рддрдм рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ рдЬрдм рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреВрд╕рд░реЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм рдлрд╝рдВрдХреНрд╢рди A рдХреЙрд▓ рдлрд╝рдВрдХреНрд╢рди B рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд╝рдВрдХреНрд╢рди B рдПрдХ рдФрд░ рдкрд╛рдБрдЪ рд╕реЗ рдЫрд╣ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ
рдПрдХ рд╢реВрдиреНрдп-рднрд░рдиреЗ рд╡рд╛рд▓рд╛ рдлрд╝рдВрдХреНрд╢рди рдкрд╛рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЯреВрдЯ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдИрд░реНрд╖реНрдпрд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬреЛ рдЦреБрдж рдХреЛ рдПрдлрдкреА рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рдХ рдорд╛рдирддреЗ рд╣реИрдВ рдПрдлрдкреА рдХреЛ рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЧрдВрднреАрд░ рдирд╣реАрдВ рдорд╛рдирддреЗ рд╣реИрдВред рдпрд╣ рдХрд╛рдлреА рдИрдорд╛рдирджрд╛рд░ рд╣реИ рдпрджрд┐ рдЖрдкрдХрд╛ рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рдХреЛрдб рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдлрд┐рд░ рдХрднреА рдирд╣реАрдВ рд╕реЛрдЪрдирд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдХреЛрдб рдЖрдзрд╛рд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рддреЛ
рд╢реБрджреНрдз рдХреЛрдб рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ,
рдирд┐рд░реНрднрд░рддрд╛ рдЙрд▓рдЯрд╛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдПрдлрдЖрдИ рднреА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
OOP рдпрд╛ FP?
OOP рдФрд░ FI
рдЙрдкрдХрд░рдг рд╣реИрдВ ред рдЕрдВрддрддрдГ, рдпрд╣ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреЛрдб рд╕рдВрдЧрдарди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЖрд╡реЗрджрди рдХрд╛ рдореИрдХреНрд░реЛрд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреНрдпрд╛ рд╣реИрдВ? рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ? рдЖрдкрдХреЗ рд╕рд╛рде рдХреМрди рд╕реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╕рдмрд╕реЗ рдЖрдо рд╣реИрдВ? рд╡реЗ рдХреИрд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИрдВ? рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреМрди рд╕реА рд╡рд╕реНрддреБрдПрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ?
рдпреЗ рд╕рднреА рдореБрджреНрджреЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдорд╛рди рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рдирд╣реАрдВ рд╣реИрдВ, рдРрд╕реЗ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рд╕реНрддрд░ рдкрд░ рд╡реЗ рднреА рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкреНрд░рддрд┐рдорд╛рдиреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдорд╛рди рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЪреБрдирддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВред