package Ġio . github . aj oz . workshop . intro Ċ Ċ // Ġno Ġmethods Ċ interface ĠB az Ċ Ċ // Ġwith Ġmethods : Ċ interface ĠB az 2 Ġ{ ĊĠĠĠ Ġfun Ġmethod 1 () Ċ } Ċ Ċ // Ġwith Ġdefault Ġimplementation Ċ interface ĠB az 3 Ġ{ ĊĠĠĠ Ġfun Ġmethod 1 () ĊĠĠĠ Ġfun Ġmethod 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Kotlin ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ // with Ġproperties Ċ interface ĠB az 4 Ġ{ ĊĠĠĠ Ġfun Ġmethod 1 () ĊĠĠĠ Ġfun Ġmethod 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Default Ġimplementation Ġfor ĠB az 4 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġproperty : ĠInt Ċ } Ċ Ċ // Ġimplementing : Ċ class ĠFoo Bar Ġ: ĠB az 4 Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmethod 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Foo Bar Ġimplementation ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġproperty : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ 4 2 Ċ } Ċ Ċ interface ĠA Ġ{ ĊĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġ 6 Ċ // ĠĠĠ Ġfun Ġtest 2 (): ĠString Ġ<-- Ġthis Ġwill Ġbe Ġa Ġconflict Ċ } Ċ Ċ interface ĠB Ġ{ ĊĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġ 7 Ċ // ĠĠĠ Ġfun Ġtest 2 (): ĠInt Ċ } Ċ Ċ // Ġwe Ġcan Ġaccess Ġwhich Ġever Ġdefault Ġwe Ġwant Ġthrough Ġsuper Ċ class ĠF u Bar Ġ: ĠA , ĠB Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtest (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper < A >. test () Ġ* Ġsuper < B >. test () ĊĠĠĠ Ġ} Ċ } ĊĊĊ