// open Ġkeyword Ġmake Ġclass Ġnon Ġfinal Ċ open Ġclass ĠA Ġ{ ĊĠĠĠ Ġ// Ġmethod Ġneed Ġto Ġbe Ġopen Ġas Ġwell ĊĠĠĠ Ġopen Ġfun Ġsum ( a : ĠInt Ġ= Ġ 3 0 , Ġb : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġa Ġ+ Ġb ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠB Ġ: ĠA () Ġ{ ĊĠĠĠ Ġ// Ġa Ġdefault Ġvalue Ġfor Ġfunction Ġbeing ĊĠĠĠ Ġ// Ġover - ridden Ġcannot Ġbe Ġprovided ĊĠĠĠ Ġ// Ġ< code > ĊĠĠĠ Ġ// Ġoverride Ġfun Ġsum ( a : Int Ġ= Ġ 4 0 , Ġb : Int ) Ġ: ĠInt Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠ Ġreturn Ġa Ġ+ Ġb ĊĠĠĠ Ġ// Ġ} ĊĠĠĠ Ġ// Ġ</ code > ĊĠĠĠ Ġ// ĠFunction Ġabove Ġdoes Ġnot Ġcompile ĊĠĠĠ Ġoverride Ġfun Ġsum ( a : ĠInt , Ġb : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġa Ġ+ Ġb ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġ// ĠCalling Ġsum Ġwith Ġdefault Ġparams ĊĠĠĠ Ġprintln (" Sum Ġis Ġ${ B (). sum ( b Ġ= Ġ 2 0 )} ") Ċ }