рд╣рд░ рдмрд╛рд░ рдЬрдм рднреА рдпрд╣ рдЖрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдПрдХ рд╣реА рд╕рд╡рд╛рд▓ рд╕реБрдирдирд╛ рд╣реЛрдЧрд╛:
рдХреНрдпрд╛ рдПрдХ рд╡рд╕реНрддреБ рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛ рд╣реИ?
рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореБрдЭреЗ рдКрдм рдЧрдпрд╛ред рдореЗрд░рд╛ рдХрд╛рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ, рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛рд░реНрдбреЛрдВ рдкрд░ рдПрдХ рд▓рд┐рдВрдХ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рд░ рдмрд╛рд░ рджреЗрдирд╛ рдЬрдм рдУрдУрдкреА рдкреНрд░рд╢рдВрд╕рдХ рдореБрдЭрд╕реЗ рдпрд╣ рд╕рд╡рд╛рд▓ рдкреВрдЫрддреЗ рд╣реИрдВред
рдПрдХ рдирдЬрд╝рд░ рдореЗрдВ рд╕рдВрд░рдЪрдирд╛рдПрдБ
рд▓реЗрдЦрдХ рдХреА рддрд╕реНрд╡реАрд░рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЗрд╕ рдкрд╡рд┐рддреНрд░ рдкреНрд░рд╢реНрди рдХрд╛ рдХреЛрдИ рд╕рдЦреНрдд рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдЧреЛрдЗрдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рдореЙрдбрд▓ рднреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ:
type Person struct { Name string } func (p *Person) Intro() string { return p.Name } type Woman struct { Person } func (w *Woman) Intro() string { return "Mrs. " + w.Person.Intro() }
рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЙрджрд╛рд╣рд░рдг рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рдХреНрдпрд╛ рдХрд╣реЗрдВрдЧреЗред рдорд╛рди рд▓реЗрдВ рдХрд┐
рд╡реБрдорди рдХреЛ
рдкрд░реНрд╕рди рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИред
рд╡реБрдорди рдЯрд╛рдЗрдк рдореЗрдВ
рдкрд░реНрд╕рди рдЯрд╛рдЗрдк рдХреЗ рд╕рднреА рдлреАрд▓реНрдбреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдлрдВрдХреНрд╢рдиреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреИрд░реЗрдВрдЯ рдЯрд╛рдЗрдк рдХреЗ рддрд░реАрдХреЗ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдпрд╣ рд╡рд┐рд░рд╛рд╕рдд рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рд╣рд╛рдБ ... рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЪрд╛рд▓ рд╣реИ!
рдЪрд╛рд▓?
рдЖрдЗрдП рдПрдХ рдХрд░реАрдм рд╕реЗ рджреЗрдЦреЗрдВ, рдФрд░ рдореБрдЭреЗ рд╕рдордЭрд╛рдПрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реА рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗ, рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд░рд╛рд╕рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдпрд╣ рд╕рдм рдкрдврд╝рддреЗ рд╕рдордп рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдЙрд╕реЗ рднреВрд▓ рдЧрдП ... рдЪрд┐рдХреА!
рд▓реЗрдЦрдХ рдХрд╛ рдЪрд┐рддреНрд░рдЕрдм рдПрдХ рдмреЙрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд░рдЪрдирд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЧреНрд░реЗ рдХрд╛рд░реНрдбрдмреЛрд░реНрдб рдмреЙрдХреНрд╕ ... рдФрд░ рдЪреАрдЬреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬрд╛рджреВ рдЖрдЗрдЯрдо рдЬреЛ рдЖрдк рдмреЙрдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
type SmallBox struct { BaseballCards []string BubbleGumsCount int AnyMagicItem bool }
рд╣рд╛рдБ, рдпрд╣ рд╣рдорд╛рд░рд╛ рдЫреЛрдЯрд╛ рд╕рд╛ рдмреЙрдХреНрд╕ рдХреИрд╕реЗ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рджрд┐рди рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╣реИ рдирд╛? рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреА рдмрд╛рддреЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реЛрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдПрдХ рдмрдбрд╝рд╛ рдмреЙрдХреНрд╕ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЫреЛрдЯрд╛ рдмреЙрдХреНрд╕ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
type BigBox struct { SmallBox Books []string Toys []string }
рдорд╣рд╛рди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рдмреЙрдХреНрд╕ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рдкреНрд▓рд╕ рдХреБрдЫ рдХрд┐рддрд╛рдмреЗрдВ рдФрд░ рдЦрд┐рд▓реМрдиреЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдФрд░ рдпрд╣рд╛рдБ рдЬрд╛рджреВ рд╣реЛрддрд╛ рд╣реИ ... рд╣рдо рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ:
рдмрдбрд╝реЗ рдмреЙрдХреНрд╕ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ?
рд╣рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдУрд░, рд╣рдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрд┐рддрд╛рдмреЗрдВ, рдЦрд┐рд▓реМрдиреЗ рдФрд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЫреЛрдЯреЗ рдмреЙрдХреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рдУрд░,
рд╣рдо рдпрд╣ рдХрд╣рдХрд░
рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмреЙрдХреНрд╕ рдореЗрдВ рдЦрд┐рд▓реМрдиреЗ, рдХрд┐рддрд╛рдмреЗрдВ, рдмреЗрд╕рдмреЙрд▓ рдХрд╛рд░реНрдб рдФрд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬрд╛рджреВ рдХреА рдЪреАрдЬреЗрдВ рд╣реИрдВред рджреЛрдиреЛрдВ рдЙрддреНрддрд░ рд╕рддреНрдп рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рднрд┐рдиреНрди рд╣реИрдВред рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдЗрд╕ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕реНрддрд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
bigBox := &BigBox{} bigBox.BubbleGumsCount = 4
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ,
рдмрд┐рдЧрдмреЙрдХреНрд╕ рд╕реНрдореЙрд▓рдмреЙрдХреНрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ , рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓
рд╕реНрдореЙрд▓рдмреЙрдХреНрд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рддрдХ рддреНрд╡рд░рд┐рдд рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдУрд╡рд░рд░рд╛рдЗрдб?
рдкрд╣рд▓реЗ рд╣реА рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдкрдиреЗ рдПрдХ рд╡рд┐рдзрд┐ рдУрд╡рд░рд░рд╛рдЗрдб рдЬреИрд╕рд╛ рдХреБрдЫ рджреЗрдЦрд╛ред рдореИрдВ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ, рдЖрдкрдХреЛ рдЗрд╕ рд╢рдмреНрдж рдХреЛ рднреВрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпрд╣ рдореИрдЬрд┐рдХ рдЯреНрд░рд┐рдХ рдХрд┐рд╕реА рдХреЙрд▓ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдПрдХ рдлрдВрдХреНрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рдПрдХ рдмреЙрдХреНрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЬреЛ рдмрдбрд╝реЗ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ
func (sb *SmallBox) Capacity() int { return 20 } func (bb *BigBox) Capacity() int { return bb.SmallBox.Capacity() * 3 }
рд╣рдо
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐
BigBox рдореЗрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдмреЙрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рдмрд╛рд░ рддреАрди рдЖрдЗрдЯрдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо
SmallBox рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рджреЛрдиреЛрдВ рдХреЛ рдЕрднреА рднреА рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рд╡рд┐рднрд┐рдиреНрди рдмрдХреНрд╕реЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред
fmt.Println(bigBox.Capacity())
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд╣рд░реА рдмреЙрдХреНрд╕ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
func (sb *SmallBox) Color() string { return "gray" }
рдпрд╣ рдПрдХ рдХрд┐рд▓рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЧреЛ рдЯреВ рдлреНрд░реЗрд╢ рдПрдпрд░ рдХреА рд╕рд╛рдВрд╕ рд▓реЗрддреА рд╣реИред рджреЛрдиреЛрдВ рдХреЙрд▓ рдореЗрдВ
рд░рдВрдЧ рдлрд╝рдВрдХреНрд╢рди
рд╕реНрдореЙрд▓рдмреЙрдХреНрд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╣рдо рд╕реНрдореГрддрд┐ рдХреЗ рд▓рд┐рдП рд▓рд╛рд▓рдЪреА рд╣реИрдВ!
рдЧреЛ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдХреБрдЫ рд╣рдж рддрдХ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдо рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕реНрдореГрддрд┐ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐
BigBox рдореЗрдВ рдЦреБрдж рдХреЗ рднреАрддрд░ рдПрдХ
SmallBox рд╢рд╛рдорд┐рд▓ рд╣реЛ рднреА рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдирд╣реАрдВ рднреАред рдЕрдм рддрдХ, рд╣рдордиреЗ рд▓рдЧрд╛рддрд╛рд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХреА рдереА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рдо рдЕрдкрдиреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
type SkinflintBigBox struct { *SmallBox Books []string Toys []string }
рд▓реЗрдХрд┐рди рдПрдХ рдЪрд╛рд▓ рд╣реИ,
рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рдВрд░рдЪрдирд╛ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕реВрдЪрдХ рдХреЗ рд╕рдорд╛рди рдХрд╛рдо рдХрд░рддреА рд╣реИ , рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕реЗ
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдмрд╣реБрдд рд╕рд╛рд░реА рдЦрд░рд╛рдм рдЪреАрдЬреЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:
bigBox := &SkinflintBigBox{} bigBox.SmallBox
рд▓реЗрдЦрдХ рдХрд╛ рдЪрд┐рддреНрд░рд╣рдореЗрдВ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдкреЙрдЗрдВрдЯрд░ рдХреА рддрд░рд╣ рдЕрдкрдиреЗ рдЫреЛрдЯреЗ рдмреЙрдХреНрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
bigBox := &SkinflintBigBox{SmallBox: &SmallBox{AnyMagicItem: true}} bigBox.AnyMagicItem
рд╣реБрд░реНрд░реЗ! рдЕрдм рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐
рд╢рд╛рдорд┐рд▓ рд╕реВрдЪрдХ рдХреЛ рдХрд┐рд╕реА рднреА рд╕рдордп рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ , рдмрд╛рд╣рд░реА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╕рдордп рдРрд╕рд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рдЬрд╛рджреВ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдЪрд╛рд▓ рд╣реИ ...
рд╕реБрдорд┐рд░рди рдХрд░рдирд╛, рдХреЛрдИ рдЬрд╛рджреВ рдирд╣реАрдВ рд╣реИред рддрдерд╛рдХрдерд┐рдд рд╡рд┐рд░рд╛рд╕рдд рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред OOP рдХрдЯреНрдЯрд░рдкрдВрдерд┐рдпреЛрдВ рдХреЛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓, рд╕реНрдорд╛рд░реНрдЯ рдФрд░ рдкрд░реНрдпрд╛рдкреНрдд:
рдмреЗрд╢рдХ, рдпрд╣ OOP рд╣реИ ... рдЬрд╛рдУ!
рд▓реЗрдЦрдХ рдХрд╛ рдЪрд┐рддреНрд░рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рдкрд╕рдВрдж рдЖрдпрд╛ рд╣реЛрдЧрд╛!
(
рдзреНрдпрд╛рди рджреЗрдВ: рдЬрдирддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓реЗрдЦрдХ рдХреЗ рдЪрд┐рддреНрд░ рд▓рд┐рдВрдХ рдХреЗ рдкреАрдЫреЗ рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВ)