package Ġpro . div enta . tutorials . kotlin Ċ Ċ abstract Ġclass ĠAnimal ( name : ĠString ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġname Ġ= Ġname ĊĊĠĠĠ Ġopen Ġabstract Ġfun Ġspeak (): ĠString ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" a Ġ${ this . java Class . simple Name . toLowerCase ()} Ġcalled Ġ$ name " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdescribe (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ this } Ġtalk s Ġlike Ġthat : Ġ${ this . speak () }" ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠDog ( name : ĠString ) Ġ: ĠAnimal ( name ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġspeak (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" b ark " ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠCat ( name : ĠString ) Ġ: ĠAnimal ( name ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġspeak (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" me o ow " ĊĠĠĠ Ġ} Ċ } Ċ