class cl1 { method m1 {args} { .... code ... } } class cl2 { inherit cl1 method m1 {args} { .... code ... } method m2 {args} { m2 ; # this calls cl2 m2 } } class cl3 { inherit cl2 method m1 {args} { .... code ... } method m2 {args} { .... code ... } method m3 {args} { m2 ; # this calls cl3 m2 (and not cl2 m2 !) } } class cl4 { inherit cl3 method m4 {args} { m2 ; # this calls cl3 m2 cl2::m2 ; # this calls cl2 m2 cl2::m1 ; # this calls cl2 m1 cl2::class1::m1 ; # this calls cl1 m1 }