рдХрд┐рддрд╛рдм тАЬрд╣реЗрдб рдлрд░реНрд╕реНрдЯред рдХреЛрдЯрд▓рд┐рди ┬╗

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

рдХрдЯ рдХреЗ рдиреАрдЪреЗ рдПрдХ рдЕрдВрд╢ "рдбреЗрдЯрд╛ рдХреНрд▓рд╛рд╕реЗрд╕" рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ


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

== рдСрдкрд░реЗрдЯрд░ рдмрд░рд╛рдмрд░ рдирд╛рдордХ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ


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

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рдорд╛рдирддрд╛ рдЪреЗрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рджреЛ рдЪрд░ рдПрдХ рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реИрдВред

рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, w1 рдФрд░ w2 рдирд╛рдордХ рджреЛ рд╡реБрд▓реНрдл рдЪрд░ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред рдпрджрд┐ w1 рдФрд░ w2 рдореЗрдВ рдПрдХ рд╡реБрд▓реНрдл рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреА рддреБрд▓рдирд╛ == рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдкрд░, рдкрд░рд┐рдгрд╛рдо рд╕рддреНрдп рд╣реИ:

рдЫрд╡рд┐

рд▓реЗрдХрд┐рди рдЕрдЧрд░ w1 рдФрд░ w2 рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реБрд▓реНрдл рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рдВрджрд░реНрдн рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреА рддреБрд▓рдирд╛ == рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдЧрд▓рдд рдорд┐рд▓рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рд╕рдорд╛рди рдЧреБрдг рдорд╛рди рд╣реЛрдВред

рдЫрд╡рд┐

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛рдВ рд╕реЗ рдЖрддрд╛ рд╣реИ?

рд╕реБрдкрд░рдХреНрд▓рд╛рд╕ рдХрд┐рд╕реА рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рддреА рд╣реИ


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

class MyClass { ... } 

рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдирд┐рдореНрди рд░реВрдк рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛:
рдЫрд╡рд┐

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

рдХрд┐рд╕реА рднреА рд╡рд┐рд░рд╛рд╕рдд рдХрд╛ рдорд╣рддреНрд╡


рдкрд░рд┐рдгрд╛рдореА рд╕реБрдкрд░рдХреНрд▓рд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдлрд╛рдпрджреЗ рд╣реИрдВ:

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

 val myArray = arrayOf(Car(), Guitar(), Giraffe()) 

рдХрдВрдкрд╛рдЗрд▓рд░ рдиреЗ рдиреЛрдЯрд┐рд╕ рдХрд┐рдпрд╛ рдХрд┐ рдПрд░реЗ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд┐рд╕реА рднреА рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдПрд░реЗ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИред

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

рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рд╕реА рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛


рдХреЛрдИ рднреА рд╡рд░реНрдЧ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ:

  • рдмрд░рд╛рдмрд░реА (рдХреЛрдИ: рдХреЛрдИ рднреА): рдмреВрд▓рд┐рдпрди
    рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ "рд╕рдорд╛рди" рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдлрд╝рдВрдХреНрд╢рди рд╕рд╣реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд -ред рджреГрд╢реНрдпреЛрдВ рдХреЗ рдкреАрдЫреЗ, рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рд░ рдмрд╛рд░ == рдСрдкрд░реЗрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 val w1 = Wolf() val w1 = Wolf() val w2 = Wolf() val w2 = w1 println(w1.equals(w2)) println(w1.equals(w2)) false (equals  false, true (equals  true,   w1  w2   w1  w2        .)      тАФ   ,   w1 == w2. 

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

 val w = Wolf() println(w.hashCode()) 

523429237 (рд╣реИрд╢ рдХреЛрдб w рдХрд╛ рдореВрд▓реНрдп)

  • .String (): рд╕реНрдЯреНрд░рд┐рдВрдЧ
    рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрджреЗрд╢ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рдВрджреЗрд╢ рдореЗрдВ рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдо рдФрд░ рдПрдХ рдирдВрдмрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

 val w = Wolf() println(w.toString()) 

рднреЗрдбрд╝рд┐рдпрд╛ @ 1f32e575

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

рдмрд░рд╛рдмрд░ рдлрд╝рдВрдХреНрд╢рди == рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

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

рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рд░рд▓ рддреБрд▓реНрдпрддрд╛ рдЬрд╛рдБрдЪ


рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ == рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

 class Recipe(val title: String, val isVegetarian: Boolean) { } 

== рдСрдкрд░реЗрдЯрд░ рдПрдХ рд╣реА рдЧреБрдг, рд╢реАрд░реНрд╖рдХ рдФрд░ isVegetarian рдХреЗ рд╕рд╛рде рджреЛ рдкрдХрд╛рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдЪ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

 val r1 = Recipe("Chicken Bhuna", false) val r2 = Recipe("Chicken Bhuna", false) 

рдЫрд╡рд┐

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

рдбреЗрдЯрд╛ рд╡рд░реНрдЧ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


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

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

 data class Recipe(val title: String, val isVegetarian: Boolean) { } 

рдбреЗрдЯрд╛ рдЙрдкрд╕рд░реНрдЧ рдПрдХ рдирд┐рдпрдорд┐рдд рд╡рд░реНрдЧ рдХреЛ рдбреЗрдЯрд╛ рд╡рд░реНрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдбреЗрдЯрд╛ рдХреНрд▓рд╛рд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ


рдбреЗрдЯрд╛ рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдирд┐рдпрдорд┐рдд рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рдорд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХреЛрдб рдПрдХ рдирдпрд╛ рдиреБрд╕реНрдЦрд╛ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ r1 рдирд╛рдордХ рдПрдХ рдирдП рдЪрд░ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИ:

 val r1 = Recipe("Chicken Bhuna", false) 

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

 val r1 = Recipe("Chicken Bhuna", false) val r2 = Recipe("Chicken Bhuna", false) //r1 == r2  true 

r1 рдФрд░ r2 рдХреЛ "рд╕рдорд╛рди" рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рджреЛ рд░реЗрд╕рд┐рдкреА рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕рдорд╛рди рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред

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

рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдЙрдирдХреЗ рд╡рд┐рд░рд╛рд╕рдд рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ


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

рд╕рдорд╛рди рдХрд╛рд░реНрдп рдЧреБрдг рдорд╛рдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ


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

 val r1 = Recipe("Chicken Bhuna", false) val r2 = Recipe("Chicken Bhuna", false) println(r1.equals(r2)) true 

рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдорд╛рди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ рд╕рдорд╛рди рдореВрд▓реНрдп рд╣реЛрддрд╛ рд╣реИред

рд╕рдорд╛рди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП, рд╕рдорд╛рди рд╣реИрд╢рдХреЛрдб рдорд╛рди рд╡рд╛рдкрд╕ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ


рдпрджрд┐ рджреЛ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдорд╛рди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рд╕рдорд╛рди рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдп рд╣реИрдВ), рд╣реИрд╢рдХреЛрдб рдлрд╝рдВрдХреНрд╢рди рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ:

 val r1 = Recipe("Chicken Bhuna", false) val r2 = Recipe("Chicken Bhuna", false) println(r1.hashCode()) println(r2.hashCode()) 

241131113
241131113

.String рд╕рднреА рдЧреБрдгреЛрдВ рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ


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

 val r1 = Recipe("Chicken Bhuna", false) println(r1.toString()) Recipe(title=Chicken Bhuna, isVegetarian=false) 

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

рдХреЙрдкреА рдлрдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдбрд╛рдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЙрдкреА рдХрд░рдирд╛


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

рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ r1 рдирд╛рдо рдХреА рдПрдХ рд░реЗрд╕рд┐рдкреА рд╡рд╕реНрддреБ рд╣реИ, рдЬрд┐рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 val r1 = Recipe("Thai Curry", false) 

рдЫрд╡рд┐

рдпрджрд┐ рдЖрдк Recipe рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ isegetarian property рдХреА value рдХреЛ true рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдЫрд╡рд┐

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "r1 рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдПрдВ, рдЕрдкрдиреА isegetarian рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╕рд╣реА рдореЗрдВ рдмрджрд▓реЗрдВ, рдФрд░ r2 рдирд╛рдордХ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдкрд░ рдПрдХ рдирдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред" рдЗрд╕рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рдирдИ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдореВрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддрд╛ рд╣реИред

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

рдбреЗрдЯрд╛ рдХрдХреНрд╖рд╛рдПрдВ рдШрдЯрдХ ... рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИрдВ


рдбреЗрдЯрд╛ рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдЙрди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдВрдкрддреНрддрд┐ рдорд╛рди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рддрдВрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрдВрдкреЛрдиреЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдо рдХреЗ рддрд╣рдд рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ N рдХреЛ рдкреБрдирдГ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЧреБрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ (рдШреЛрд╖рдгрд╛ рдХреНрд░рдо рдореЗрдВ)ред

рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдШрдЯрдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдХрд╛рдиреЗ рдХреА рд╡рд┐рдзрд┐ рд╣реИ:

 val r = Recipe("Chicken Bhuna", false) 

рдпрджрд┐ рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдкрд╣рд▓реА рд╕рдВрдкрддреНрддрд┐ (рдЯрд╛рдЗрдЯрд▓ рдкреНрд░реЙрдкрд░реНрдЯреА) рдХрд╛ рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдШрдЯрдХ 1 () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 val title = r.component1() 

рдШрдЯрдХ 1 () рдЙрд╕ рд╕рдВрджрд░реНрдн рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрд╣рд▓реА рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред

рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрди рдХреЛрдб рдХреЗ рд╕рдорд╛рди рд╣реИ:

 val title = r.title 

рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХреЛрдб рдЕрдзрд┐рдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИред рдХреЙрдореНрдкреЛрдиреЗрдВрдЯрди рдлрд╝рдВрдХреНрд╢рди рдбреЗрдЯрд╛ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЗрддрдиреЗ рдЙрдкрдпреЛрдЧреА рдХреНрдпреЛрдВ рд╣реИрдВ?

... рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдкреБрдирд░реНрдЧрдарди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛


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

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

 val title = r.title val vegetarian = r.isVegetarian 

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

 val (title, vegetarian) = r 

рдкрд╣рд▓реА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╢реАрд░реНрд╖рдХ рдЖрд░ рдФрд░ рд╢рд╛рдХрд╛рд╣рд╛рд░реА рдХреЛ рджреВрд╕рд░реА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕реМрдВрдкрддрд╛ рд╣реИред

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

 val title = r.component1() val vegetarian = r.component2() 

рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдирд┐рдХрд▓рд╛ред

=== рдСрдкрд░реЗрдЯрд░ рд╣рдореЗрд╢рд╛ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рджреЛ рдЪрд░ рдПрдХ рд╣реА рд╡рд╕реНрддреБ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рджреЛ рдЪрд░ рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рд╣реА рд╡рд╕реНрддреБ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ == рдХреЗ рдмрдЬрд╛рдп === рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред === рдСрдкрд░реЗрдЯрд░ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ рдЕрдЧрд░ (рдФрд░ рдХреЗрд╡рд▓ рдЕрдЧрд░) рджреЛ рдЪрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╕реНрддреБ рдХрд╛ рдПрдХ рд╕рдВрджрд░реНрдн рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╕рдЪ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдЪрд░, x рдФрд░ y, рдФрд░ рдирд┐рдореНрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ:

 x === y 

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

== рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд, === рдСрдкрд░реЗрдЯрд░ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред === рдСрдкрд░реЗрдЯрд░ рд╣рдореЗрд╢рд╛ рд╡рд░реНрдЧ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдЕрдм рдЬрдм рдЖрдкрдиреЗ рдбреЗрдЯрд╛ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдирд╛ рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рд░реЗрд╕рд┐рдкреА рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред

рд░реЗрд╕рд┐рдкреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛


JVM рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ Kotlin рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ "рд░реЗрд╕рд┐рдкреА" рдирд╛рдо рджреЗрдВред рдлрд┐рд░ рдПрдХ рдирдпрд╛ рдмрдирд╛рдПрдБ
рдХреЛрдЯрд▓рд┐рди рдлрд╝рд╛рдЗрд▓, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо Recipes.kt рд╣реИ: src рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдлрд╝рд╛рдЗрд▓ рдореЗрдиреВ рдЦреЛрд▓реЗрдВ рдФрд░ рдХрдорд╛рдВрдб рдЪреБрдиреЗрдВ
рдирдИ тЖТ рдХреЛрдЯрд▓рд┐рди рдлрд╝рд╛рдЗрд▓ / рдХрдХреНрд╖рд╛ред рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо "рд░реЗрд╕рд┐рдкреА" рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдХрд┐рдВрдбрд▓ рд╕рдореВрд╣ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВред

рд╣рдо рд░реЗрд╕рд┐рдкреА рдирд╛рдордХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛ рдХреНрд▓рд╛рд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рд░реЗрд╕рд┐рдкреА рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рдиреАрдЪреЗ рдХреЛрдб рд╣реИред рд░реЗрд╕рд┐рдкреА рдХреЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд▓рд╛рдЗрди рдореЗрдВ рд▓рд╛рдПрдВ:

 data class Recipe(val title: String, val isVegetarian: Boolean) (  {} ,        .) fun main(args: Array<String>) { val r1 = Recipe("Thai Curry", false) val r2 = Recipe("Thai Curry", false) val r3 = r1.copy(title = "Chicken Bhuna") (  r1    title) println("r1 hash code: ${r1.hashCode()}") println("r2 hash code: ${r2.hashCode()}") println("r3 hash code: ${r3.hashCode()}") println("r1 toString: ${r1.toString()}") println("r1 == r2? ${r1 == r2}") println("r1 === r2? ${r1 === r2}") println("r1 == r3? ${r1 == r3}") val (title, vegetarian) = r1 ( r1) println("title is $title and vegetarian is $vegetarian") } 

рдЬрдм рдЖрдк рдЕрдкрдирд╛ рдХреЛрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди рдкрд╛рда IDE рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рд╡рд┐рдВрдбреЛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

 r1 hash code: -135497891 r2 hash code: -135497891 r3 hash code: 241131113 r1 toString: Recipe(title=Thai Curry, isVegetarian=false) r1 == r2? true r1 === r2? false r1 == r3? false title is Thai Curry and vegetarian is false 


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

рдЦрд╛рдмрд░реЛрдЬрд┐рдЯреЗрд▓ рдХреЗ рд▓рд┐рдП рдХреВрдкрди рдкрд░ 25% рдХреА рдЫреВрдЯ - рдХреЛрдЯрд▓рд┐рди

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

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


All Articles