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