package Ġcom . example . android . room word ss ample Ċ Ċ /** Ċ Ġ* Ġ ç±»çļĦ ç»§æī¿ ï¼ļ Ċ Ġ* Ġ 1 . Ġkotlin Ġä¸Ń æ¯ı ä¸Ģä¸ª çļĦ ç±» éĥ½ åŃĺåľ¨ ä¸Ģä¸ª åħ± åĲĮ çļĦ è¶ħ ç±» Any ãĢĤ æ¯ı ä¸Ģä¸ª ç±» éĥ½æĺ¯ ç»§æī¿ Any çļĦ ãĢĤ Ċ Ġ* Ġ 2 . Ġkotlin Ġä¸ŃçļĦ ç±» é»ĺè®¤ æĺ¯ final Ġ åħ³éĶ®åŃĹ ä¿® é¥ ° çļĦ ãĢĤ é»ĺè®¤ kotlin ä¸Ń ç±» ä¸į åı¯ä»¥ è¢« ç»§æī¿ ãĢĤ éľĢè¦ģ ä½¿çĶ¨ åħ³éĶ®åŃĹ open æĿ¥ ä¿® é¥ ° æīį èĥ½å¤Ł è¢« ç»§æī¿ Ċ Ġ* Ġ 3 . Ġ ç»§æī¿ ä¸Ģä¸ª ç±» éĤ£ä¹Ī å°± å°Ĩ å¾ħ ç»§æī¿ çļĦ ç±» åĲįç§° æĶ¾åľ¨ ç±» å¤´ çļĦ åĲİ éĿ¢ Ċ Ġ*/ Ċ open Ġclass ĠPerson 3 ( name : String , Ġaddress : String ) Ġ{ ĊĠĠĠ Ġconstructor ( name : String , Ġaddress : String , Ġh obby : String ): this ( name , Ġaddress ) Ċ } Ċ Ċ /** Ċ Ġ* Ġå¦Ĥæŀľ æ´¾ çĶŁ ç±» åŃĺåľ¨ ä¸» æŀĦéĢł åĩ½æķ° ï¼Į éĤ£ä¹Ī ä¸Ģå®ļ è¦ģ ä½¿çĶ¨ æ´¾ çĶŁ ç±» åıĤæķ° å°± åľ° æĿ¥ åĪĿå§ĭåĮĸ åŁº ç±» Ċ Ġ*/ Ċ class ĠBob y ( val Ġname : String , Ġval Ġaddress : String , Ġsex : Int ) Ġ: Person 3 ( name , address ) Ġ{ Ċ Ċ } Ċ Ċ /** Ċ Ġ* Ġå¦Ĥæŀľ æ´¾ çĶŁ ç±» ä¸įåŃĺåľ¨ ä¸» æŀĦéĢł åĩ½æķ° ï¼Į éĤ£ä¹Ī çĽ¸ å¯¹åºĶ æ¯ı ä¸Ģä¸ª æ´¾ çĶŁ ç±» ä»İ æŀĦéĢł åĻ¨ éĥ½æĺ¯ éľĢè¦ģ ä½¿çĶ¨ super åħ³éĶ®åŃĹ æĿ¥ åĪĿå§ĭåĮĸ åħ¶ åŁº ç±»çļĦ æŀĦéĢł åĻ¨ ï¼Ī åŁº ç±»çļĦ æŀĦéĢł åĻ¨ ä¸į ä¸Ģå®ļ æĺ¯ ä¸» æŀĦéĢł åĻ¨ ãĢģ Ċ Ġ* Ġ è¿ĺ åı¯èĥ½ æĺ¯ ä»İ æŀĦéĢł åĻ¨ ï¼ī Ċ Ġ* Ġsuper åħ³éĶ®åŃĹ åı¯ä»¥ ä¸į å¿ħè¦ģ ä¸Ģå®ļ åĩºçİ° ãĢĤ ä»İ æŀĦéĢł åĻ¨ åı¯ä»¥éĢļè¿ĩ å§Ķ æīĺ åĪ° åħ¶ä»ĸ ä»İ æŀĦéĢł åĻ¨ ãĢĤ Ċ Ġ*/ Ċ Ċ class ĠBody 2 Ġ: ĠPerson 3 { ĊĊĠĠĠ Ġconstructor ( name : String , Ġaddress : String ): Ġsuper ( name , address ) ĊĊĠĠĠ Ġconstructor ( name : String , Ġaddress : String , Ġh obby : String ): Ġsuper ( name , address , h obby ) Ċ Ċ } Ċ Ċ /** Ċ Ġ* Ġ è¦ĨçĽĸ ç±» ä¸ŃçļĦ æĸ¹æ³ķ Ċ Ġ*/ Ċ Ċ open Ġclass ĠShape ( name : String ) Ġ{ ĊĠĠĠ Ġopen Ġfun Ġdraw () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Ġdraw Ġshape Ġ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfill () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Ġfill Ġ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠåĴĮ ç±»çļĦ ç»§æī¿ ä¸Ģæł· ï¼Į æĸ¹æ³ķ çļĦ è¦ĨçĽĸ ä¹Ł éľĢè¦ģ åŁº ç±» æĸ¹æ³ķ è¿Ľè¡Į å¼Ģ æĶ¾ open Ċ Ġ*/ Ċ open Ġclass ĠCircle ( name : String ): Shape ( name ){ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġä½¿çĶ¨ Ġoverride Ġ åħ³éĶ®åŃĹ ä¿® é¥ ° çļĦæĸ¹æ³ķ æľ¬ èº« è¿ĺæĺ¯ open çļĦ ãĢĤ å¦Ĥæŀľ ä¸įéľĢè¦ģ ç»§æī¿ çļĦ ä¸įèĥ½ ç»Ļ åŃĲ ç±» å®ŀçİ° çļĦè¯Ŀ ï¼Į åĬł ä¸Ĭ åħ³éĶ®åŃĹ final åį³åı¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfinal Ġoverride Ġfun Ġdraw () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Ġdraw ĠCircle Ġ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġ//' fill ' Ġhide s Ġmember Ġof Ġsup ertype Ġ' Shape ' Ġand Ġneeds Ġ' override ' Ġmodifier ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åŃĲ ç±» ä¸į åı¯ä»¥ å®ļä¹ī åĴĮ åŁº ç±» ä¸į open Ġ åĲĮ åĲį çļĦæĸ¹æ³ķ ĊĠĠĠĠ Ġ*/ Ċ // ĠĠĠ Ġfun Ġfill () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġprintln (" ĠCircle ĠFill ") Ċ // ĠĠĠ Ġ} Ċ } Ċ Ċ class ĠO val ( val Ġname : String , Ġval Ġtype : String ): Circle ( name ) Ġ{ Ċ // ĠĠĠ Ġoverride Ġfun Ġdraw () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġprintln (" Ġdraw ĠO val Ġ") Ċ // ĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġ éĩį åĨĻ å±ŀæĢ§ Ċ Ġ*/ Ċ open Ġclass ĠPaper ( size : Int , Ġname : String ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( paper Size ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġopen Ġval Ġpaper Size : Int ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ 1 Ċ } Ċ Ċ class ĠA 4 ( override Ġval Ġpaper Size : Int , Ġname : String , Ġkey : String ): Paper ( paper Size , name ) Ċ Ċ /** Ċ Ġ* Ġ éĩį åĨĻ å±ŀæĢ§ ãĢĤ åĴĮ æĸ¹æ³ķ ç±»ä¼¼ ãĢĤ å±ŀæĢ§ é»ĺè®¤ ä¹Łæĺ¯ final ä¿® é¥ ° çļĦ ãĢĤ éľĢè¦ģ åĬł ä¸Ĭ open åħ³éĶ®åŃĹ æĿ¥ ä½¿ åħ¶ åı¯ä»¥ ç»§æī¿ Ċ Ġ* Ġæ ´ ¾ çĶŁ ç±» éľĢè¦ģ åĬł ä¸Ĭ override åħ³éĶ®åŃĹ æĿ¥ éĩį åĨĻ å±ŀæĢ§ ãĢĤ Ċ Ġ* Ġ 1 . éĩį åĨĻ å±ŀæĢ§ æĹ¶ ï¼Į éľĢè¦ģ æ³¨æĦı ä¸Ģ çĤ¹ ï¼Į éĤ£ å°±æĺ¯ ä¿® é¥ ° ç¬¦ ãĢĤ åŁº ç±» ä¸Ń val ä¿® é¥ ° çļĦ å±ŀæĢ§ åı¯ä»¥ è¢« æ´¾ çĶŁæĪĲ val ãĢģ var ãĢĤ åŁº ç±» ä¸Ń var åıªèĥ½ è¢« æ´¾ çĶŁæĪĲ var Ċ Ġ* Ġ 2 . è¦ĨçĽĸ å±ŀæĢ§ æĹ¶ Ġoverride Ġ åħ³éĶ®åŃĹ åı¯ä»¥ æĶ¾åľ¨ ä¸» æŀĦéĢł åĻ¨ ä¸Ń ãĢĤ Ċ Ġ*/ ĊĊ Ċ open Ġclass ĠBase ( val Ġname : ĠString ) Ġ{ ĊĠĠĠ Ġopen Ġval Ġsize : ĠInt Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname . length . also Ġ{ Ġprintln (" Initializing Ġsize Ġin ĠBase : Ġ$ it ") Ġ} ĊĠĠĠ Ġval Ġlength Ġ= Ġsize ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Initializing ĠBase Ġ$ size ") ĊĠĠĠĠĠĠĠ Ġprintln (" Initializing ĠBase 2 Ġ$ length ") ĊĠĠĠ Ġ} Ċ } Ċ class ĠDerived ( ĊĠĠĠĠĠĠĠ Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġval ĠlastName : ĠString Ċ ) Ġ: ĠBase ( name . capitalize (). also Ġ{ Ġprintln (" Argument Ġfor ĠBase : Ġ$ it ") Ġ}) Ġ{ ĊĠĠĠ Ġinit Ġ{ Ġprintln (" Initializing ĠDerived ") Ġ} ĊĠĠĠ Ġoverride Ġval Ġsize : ĠInt Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( super . size Ġ+ ĠlastName . length ). also Ġ{ Ġprintln (" Initializing Ġsize Ġin ĠDerived : Ġ$ it ") Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġæ ´ ¾ çĶŁ ç±» åĪĿå§ĭåĮĸ æķ°æį® Ċ Ġ* Ġåľ¨ æŀĦéĢł æ´¾ çĶŁ ç±»çļĦ æĸ° å®ŀä¾ĭ çļĦ è¿ĩç¨ĭä¸Ń , ç¬¬ä¸Ģ æŃ¥ å®ĮæĪĲ åħ¶ åŁº ç±»çļĦ åĪĿå§ĭåĮĸ ãĢĤ åĪĿå§ĭåĮĸ åľ¨ æ´¾ çĶŁ ç±» ä¹ĭåīį ãĢĤ è®¾è®¡ ä¸Ģä¸ª åŁº ç±» æĹ¶ , åºĶè¯¥ éģ¿åħį åľ¨ æŀĦéĢł åĩ½æķ° ãĢģ Ċ Ġ* Ġå±ŀæĢ§ åĪĿå§ĭåĮĸ åĻ¨ ä»¥åıĬ Ġinit Ġ åĿĹ ä¸Ń ä½¿çĶ¨ Ġopen Ġ æĪĲåĳĺ ãĢĤ Ċ Ġ*/ Ċ Ċ fun Ġmain () Ġ{ Ċ // ĠĠĠ ĠO val (" Shape Circle "," type 1 "). draw () ĊĠĠĠ ĠDerived (" N inja ", Ġ" S ak ara ") Ċ } ĊĊĊĊ