open Ġclass ĠBase Ġ{ ĊĠĠĠ Ġopen Ġfun Ġ` foo $ b $ 0 `( d : ĠDerived ) Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġ` get Bar $ b $ 1 `( d : ĠDerived ): ĠInt Ġ= Ġ 1 ĊĠĠĠ Ġopen Ġfun Ġ` set Bar $ b $ 1 `( d : ĠDerived , Ġi : ĠInt ) Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġ` getB az $ b $ 2 `( d : ĠDerived ): ĠInt Ġ= Ġ 1 ĊĊĠĠĠ Ġopen Ġfun Ġ` getB oo $ b $ 3 `( d : ĠDerived ): ĠInt Ġ= Ġ 1 ĊĊĠĠĠ Ġopen Ġfun Ġ` set Bar 1 $ b $ 4 `( d : ĠDerived , Ġi : ĠInt ) Ġ{} Ċ } Ċ Ċ class ĠDerived Ġ: ĠBase () Ġ{ ĊĠĠĠ Ġprivate Ġfun Ġfoo () Ġ{} ĊĊĠĠĠ Ġprivate Ġvar Ġbar Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġget ĊĠĠĠĠĠĠĠ Ġset ĊĊĠĠĠ Ġprivate Ġvar Ġbaz Ġ= Ġ 1 ĊĊĠĠĠ Ġprivate Ġval Ġb oo Ġ= Ġ 1 ĊĊĠĠĠ Ġprivate Ġvar Ġbar 1 Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġget ĊĠĠĠĠĠĠĠ Ġset ĊĊĠĠĠ Ġinner Ġclass ĠNested Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfoo () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbar Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbaz Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs Ġ= Ġb oo ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbar 1 Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ