// ĠK T - 4 2 1 7 6 Ċ interface ĠTop < D >{ ĊĠĠĠ Ġfun ĠgetData (): ĠD ĊĠĠĠ Ġfun ĠtoString ( data : ĠD ): ĠString Ċ } Ċ Ċ fun Ġ< D > ĠTop < D >. getString () Ġ= ĠtoString ( getData ()) Ċ Ċ interface ĠDefault Impl : ĠTop < Int >{ ĊĠĠĠ Ġoverride Ġfun ĠtoString ( data : ĠInt ): ĠString Ġ= Ġdata . toString () Ċ } Ċ Ċ class ĠBottom ( val Ġdata : ĠInt ): ĠDefault Impl Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetData (): ĠInt Ġ= Ġ Ġdata Ċ } Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġbottom Ġ= ĠBottom ( 1 0 ). getString () ĊĠĠĠ Ġif Ġ( bottom Ġ!= Ġ" 1 0 ") Ġreturn Ġ" fail : Ġ$ bottom " ĊĊĠĠĠ Ġreturn Ġ" OK " Ċ }