рдХреЛрдЯрд▓рд┐рди рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиред рдЦрддрд░рдирд╛рдХ рдирд╛рд╕реНрддрд┐рдХрддрд╛ рдпрд╛ рдПрдХ рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг?



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

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рднрд╛рд╖рд╛ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдорд╛рдорд▓рд╛ рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рдареЛрдХрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рдбреАрдЯреАрдУ рдХреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди - рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд░реНрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ

class User(val name: String, val age: Int, val sex: String) 

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

 if (user.age >= 18) { ... } 

рд▓реЗрдХрд┐рди, рдЪреВрдВрдХрд┐ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдРрд╕реЗ рдХрдИ рд╕реНрдерд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдЬрд╛рдВрдЪ рдХреЛ рд╡рд┐рдзрд┐ рдореЗрдВ рд░рдЦрдирд╛ рд╕рдордЭрджрд╛рд░реА рд╣реИред
рдпрд╣рд╛рдВ рддреАрди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  1. рдлрди рдлрди рдПрдбрд▓реНрдЯ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) - рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд░реНрдЧ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реЛрддреЗ рд╣реИрдВред
  2. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реНрдЧ рдХреЗ рдЕрдВрджрд░ isAdult рдлрд╝рдВрдХреНрд╢рди рдбрд╛рд▓реЗрдВ

     class User(val name: String, val age: Int, val sex: String) { fun isAdult() = age >= 18 } 

  3. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рд▓рд┐рдЦреЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рдорд╛рди рдХрд╛рд░реНрдп рд╣реЛрдВрдЧреЗред

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

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

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

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

 fun User.isAdult() = age >= 18 

рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реНрдЧ рдХреЗ рдЕрдВрджрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

 if(user.isAdult()) {...} 

рдкрд░рд┐рдгрд╛рдо рдПрдХ рдХрд╛рдлреА рд╕рдЯреАрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬреЛ рдХрдо рд╕реЗ рдХрдо рд╕рдордЭреМрддрд╛ рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдбреАрдЯреАрдУ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рдпрд╣ рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реНрдерд┐рд░ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛:

 public static final boolean isAdult(@NotNull User receiver) 

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

рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВред рдЖрдк рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдЗрдХрд╛рдИ рдХреЗ рдЙрдирдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдФрд░ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ


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

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

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



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



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



рдЦреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рднреА рд╕реНрдерд┐рддрд┐ рдРрд╕реА рд╣реА рд╣реИред



"рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП <рд░реВрдЯ>" рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред

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

рдкреВрд░реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реИрдВ, рдПрдХ рдХрдЪрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ


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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ isAdult рдлрд╝рдВрдХреНрд╢рди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреИрдХреЗрдЬ рдХреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдкреИрдХреЗрдЬ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдк рдХреЗрд╡рд▓ рдпрд╣ рднреНрд░рдорд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХрдХреНрд╖рд╛ рдХрд╣рд╛рдБ рд╣реИ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╣рд╛рдБ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, _User.ktред рддреЛ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП JetBrains рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдереЗред рдпрд╛, рдЕрдЧрд░ рдЕрдВрддрд░рд╛рддреНрдорд╛ рдХреА рдЖрд╡рд╛рдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИ, рддреЛ рдЖрдк user.kt рдкрд░ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕ рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдХрд░реВрдкрддрд╛ рд╣реИ рдЬреЛ рдкреВрд░реА рдЯреАрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреА рд╣реИред

рднрд╛рд╖рд╛ рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдиреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдЙрдиреНрд╣реЗрдВ _Collections.kt рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦрд╛ред

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

рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрдирджреЗрдЦреА рди рдХрд░реЗрдВ


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

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

 fun UserComponent.getActiveUsers(): List<Users> = this.getUsers().filter{it.status == тАЬActiveтАЭ} 

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

рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡рд░реНрдЧ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рд╕рдорд╛рди рдирд╛рдо рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдУрд╡рд░рд▓реИрдк рдХрд░рддрд╛ рд╣реИ


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

 fun User.isAdult() = age >= 18 

рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:

 class User(val name: String, val age: Int, val sex: String){ fun isAdult() = age >= 21 } 

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

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

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

рд╡рд┐рд╕реНрддрд╛рд░ рдПрдХ рд╡рд░реНрдЧ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдПрдХ рд╡рд╕реНрддреБ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рднреНрд░рдо рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реНрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЖрдЗрдП рдЗрд╕реЗ рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рдмрдирд╛рдПрдВ рдЫрд╛рддреНрд░:

 class Student(name: String, age: Int, sex: String): User(name, age, sex) 

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

 fun Student.isAdult() = this.age >= 16 

рдФрд░ рдЕрдм рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

 val user: User = Student("", 17, "M") 

рдХреНрдпрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ user.isAdult ())?
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдк рд╕реНрдЯреВрдбреЗрдВрдЯ рдФрд░ рдлрдВрдХреНрд╢рди рдХреА рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреНрд▓рд╛рд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдирд╣реАрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдЧрд▓рдд рд╣реЛрдЧрд╛ред

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

рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрдЬрд╛рдп


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

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

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

     callExternalSystem(user.getUserFromExternalSystem()) 

    рдмреЗрд╢рдХ, рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХрдо рдкрдардиреАрдп рд╣реИ:

     callExternalSystem(getUserFromExternalSystem(user)) 

    рдпрд╛ рдРрд╕рд╛ рд╡рд┐рдХрд▓реНрдк:

     val externalUser = getUserFromExternalSystem(user) callExternalSystem(externalUser) 

    рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдИ рдЬрд╛рджреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реА trifles рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рд╣реИред
  • рдЖрдЗрдбрд┐рдпрд╛ рдФрд░ рдСрдЯреЛ-рдкреВрд░реНрдг рд╕рдорд░реНрдердиред рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд░реНрдЧреЛрдВ рд╕реЗ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрд╡рддрдГ-рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдкрд░реНрдпрд╛рд╡рд░рдг рджреНрд╡рд╛рд░рд╛ "рдореВрд▓" рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдЕрдЪреНрдЫреА рд╡реГрджреНрдзрд┐ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдЯрд▓рд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рдлрд╝рд┐рд▓реНрдЯрд░, рдорд╛рдирдЪрд┐рддреНрд░, рдФрд░ рдЗрд╕реА рддрд░рд╣) рд╣реИрдВред рдЖрдк _Collections.kt рдлрд╝рд╛рдЗрд▓ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

рдиреАрдЪреЗ рдЙрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

  1. proandroiddev.com/kotlin-extension-functions-more-than-sugar-1f04ca7189ff - рдпрд╣рд╛рдВ рд╕реЗ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЪрд╛рд░ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╕рдВрджрд░реНрдн рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
  2. www.nikialeksey.com/2017/11/14/kotlin-is-bad.html - рдпрд╣рд╛рдБ рд▓реЗрдЦрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рдЪрд░реНрдЪрд╛ рдКрдкрд░ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред
  3. medium.com/@elizarov/i-do-not-see-much-reason-to-mock-extension-functions-7f24d88a188a - рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЧреАрд▓реЗрдкрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░реЛрдорди рдПрд▓рд┐рдЧреЛрд╡рд░реЛрд╡ рдХреА рд░рд╛рдпред

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

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


All Articles