package Ġdemo . chapter 5 Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġsystem Ġon Ġ 2 0 1 7 / 8 / 2 5 . Ċ Ġ* Ġ æī©å±ķ ï¼Ī å¾Ī å¼º å¤§ ï¼ī Ċ Ġ*/ Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġkotlin Extension Ġ= ĠKotlin Extension () ĊĠĠĠ Ġkotlin Extension . extension Fun () ĊĠĠĠ Ġprintln ( kotlin Extension . fileName ) ĊĠĠĠ Ġprintln ( kotlin Extension . fileName ()) ĊĠĠĠ Ġkotlin Extension . member () ĊĠĠĠ Ġval Ġkotlin Extension 2 : ĠKotlin Extension ? Ġ= Ġnull ĊĠĠĠ Ġkotlin Extension 2 . toString () ĊĠĠĠ Ġprintln ( kotlin Extension . nullable Receiver ()) ĊĠĠĠ Ġprintln ( kotlin Extension 2 . nullable Receiver ()) ĊĊĠĠĠ Ġprintln ( Kotlin Extension . an Property ) ĊĠĠĠ ĠKotlin Extension . extension Fun () ĊĊĠĠĠ Ġval Ġlocal Bookmark Ġ= ĠLocal Bookmark () ĊĠĠĠ Ġval Ġcloud Bookmark Ġ= ĠCloud Bookmark () ĊĊĠĠĠ ĠLocal Bookmark Manage (). sync Local ( local Bookmark ) Ġ// è¾ĵåĩº Ġsync To Cloud ĊĠĠĠ ĠCloud Bookmark Manage (). sync Local ( cloud Bookmark ) Ġ// è¾ĵåĩº Ġsync From Local ĠâĢĶ âĢĶ ĠåĪĨ åıĳ æİ¥æĶ¶ èĢħ èĻļæĭŁ è§£æŀĲ ĊĊĠĠĠ ĠLocal Bookmark Manage (). sync Local ( cloud Bookmark )// è¾ĵåĩº Ġsync To Cloud ĠâĢĶ âĢĶ Ġ æī©å±ķ æİ¥æĶ¶ èĢħ éĿĻæĢģ è§£æŀĲ ĊĠĠĠ ĠCloud Bookmark Manage (). sync Local ( local Bookmark )// è¾ĵåĩº Ġsync From Local ĠâĢĶ âĢĶ ĠåĪĨ åıĳ æİ¥æĶ¶ èĢħ èĻļæĭŁ è§£æŀĲ Ċ Ċ } Ċ Ċ class ĠKotlin Extension Ġ{ ĊĠĠĠ Ġ// æĪĲåĳĺ åĩ½æķ° æ¯Ķ æī©å±ķ åĩ½æķ° ä¼ĺåħĪ ĊĠĠĠ Ġfun Ġmember () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" call # member ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠfileName (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Kotlin Extension . class " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ċ } Ċ Ċ class ĠKotlin Interior Extension Ġ{ ĊĠĠĠ Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" call # start ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠKotlin Extension . stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġmember () Ġ// æī©å±ķ å£°æĺİ ä¸º æĪĲåĳĺ æĹ¶ Ġ æī©å±ķ åĩ½æķ° ä¼ĺåħĪ ĊĠĠĠĠĠĠĠ Ġthis @ Kotlin Interior Extension . member () Ġ// ä½¿çĶ¨ Ġ éĻĲ å®ļ this ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmember () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" call # member ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ // æī©å±ķ çļĦ å¯¹è±¡ ç±»åŀĭ ĠKotlin Extension Ċ fun ĠKotlin Extension . extension Fun () Ġ{ ĊĠĠĠ Ġprintln (" this @ ${ this } Ġcall # extension Fun ") Ġ// Ċ } Ċ Ċ fun ĠKotlin Extension . member () Ġ{ ĊĠĠĠ Ġprintln (" call # extension ") Ġ// Ċ } Ċ Ċ // æİ¥æĶ¶ èĢħ ç±»åŀĭ è¡¨è¾¾å¼ı ä¸Ń ä½¿çĶ¨ æ³Ľ åŀĭ Ġ è¦ģ åľ¨ åĩ½æķ° åĲįåīį å£°æĺİ æ³Ľ åŀĭ åıĤæķ° Ċ fun Ġ< E > ĠList < E >. addAll () Ġ{ ĊĠĠĠ Ġ// ... Ċ } Ċ Ċ // æī©å±ķ å±ŀæĢ§ ( Extension ĠProperty ) Ġ Ġ å®ŀéĻħ æī©å±ķ get * Ġåĩ½æķ° èĢĮ å·² Ċ val ĠKotlin Extension . fileName ĊĠĠĠ Ġget () Ġ= Ġ" Kotlin Extension . kt " ĊĊ Ċ // åı¯ ä¸ºç©º çļĦ æİ¥æĶ¶ èĢħ ( Nullable ĠReceiver ) Ċ fun ĠKotlin Extension ?. nullable Receiver (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( this Ġ== Ġnull ) Ġ" null ĠReceiver " Ġelse Ġ" not Ġnull ĠReceiver " Ċ } ĊĊ Ċ // å¯¹ åĲĮ ä¼ ´ å¯¹è±¡ ( Companion ĠObject ) çļĦ æī©å±ķ Ċ val ĠKotlin Extension . Companion . an Property : ĠInt Ġget () Ġ= Ġ 1 Ċ Ċ fun ĠKotlin Extension . Companion . extension Fun () Ġ{ ĊĠĠĠ Ġprintln (" call # Companion . extension Fun ") Ċ } Ċ Ċ // æī©å±ķ æĺ¯ éĿĻæĢģ è§£æŀĲ çļĦ Ċ open Ġclass ĠLocal Bookmark Ċ Ċ class ĠCloud Bookmark Ġ: ĠLocal Bookmark () Ċ Ċ open Ġclass ĠLocal Bookmark Manage Ġ{ ĊĊĠĠĠ Ġopen Ġfun ĠLocal Bookmark . sync () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" sync To Cloud ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun ĠCloud Bookmark . sync () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" sync From Cloud ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsync Local ( local Bookmark : ĠLocal Bookmark ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlocal Bookmark . sync () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠCloud Bookmark Manage Ġ: ĠLocal Bookmark Manage () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠLocal Bookmark . sync () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" sync From Local ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠCloud Bookmark . sync () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" sync ToLocal ") ĊĠĠĠ Ġ} Ċ Ċ } ĊĊĊ