package Ġcom . kotlin . in action . chapter _ 9 Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author Ġw zc Ċ Ġ* Ġ@ date Ġ 2 0 1 9 / 8 / 1 4 Ċ Ġ*/ Ċ open Ġclass ĠAnimal 3 Ġ{ ĊĠĠĠ Ġfun Ġfeed () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" feed () ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠH erd 3 < out ĠT Ġ: ĠAnimal 3 >( var arg Ġanimal s : ĠT ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlist Ġ= Ġanimal s . asList () ĊĠĠĠ Ġval Ġsize : ĠInt Ġget () Ġ= Ġlist . size ĊĠĠĠ Ġoperator Ġfun Ġget ( i : ĠInt ) Ġ: ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist [ i ] ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ fun Ġfeed All 3 ( animal s : ĠH erd 3 < Animal 3 >) Ġ{ ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġanimal s . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġanimal s [ i ]. feed () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠCat 3 : ĠAnimal 3 () Ġ{ ĊĠĠĠ Ġfun Ġclean L itter () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" clean L itter () ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġtake Care Of C ats 3 ( cats : ĠH erd 3 < Cat 3 >) Ġ{ ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġcats . size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcats [ i ]. clean L itter () ĊĠĠĠ Ġ} ĊĠĠĠ Ġfeed All 3 ( cats ) Ġ// Ġåľ¨ ĠH erd 1 ĠçļĦ ç±»åŀĭ åıĤæķ° åīį åĬł ä¸Ĭ Ġout Ġ åĲİ ï¼Į æŃ¤ è¡Į ç¼ĸè¯ĳ éĢļè¿ĩ Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġher d Ġ= ĠH erd 3 < Cat 3 >( Cat 3 (), ĠCat 3 (), ĠCat 3 ()) ĊĠĠĠ Ġtake Care Of C ats 3 ( her d ) Ċ } Ċ Ċ /** Ċ Ġ* Ġ æĢ» ç»ĵ ï¼ļ Ċ Ġ* Ġ 1 , Ġ è¿Ļä¸ª ä¾ĭåŃĲ å±ķç¤º äºĨ æŀĦéĢł æĸ¹æ³ķ çļĦåıĤæķ° æĹ¢ ä¸į åľ¨ Ġin Ġ ä½įç½® ï¼Į ä¹Ł ä¸į åľ¨ Ġout Ġ ä½įç½® ãĢĤ Ċ Ġ* Ġ åį³ ä½¿ ç±»åŀĭ åıĤæķ° å£°æĺİ ä¸º Ġout ï¼Į Ġ ä»į çĦ¶ åı¯ä»¥åľ¨ æŀĦéĢł æĸ¹æ³ķ åıĤæķ° çļĦ å£°æĺİ ä¸Ń ä½¿çĶ¨ å®ĥ ãĢĤ Ċ Ġ*/ ĊĊĊĊĊĊ