--attrs and methods class C { a : Int; a :Int <- (new E); a : Bool; --attr redefined a : Bool; --attr redefined r : Boo; --undefined type r (): Bo { --undefined type 1 }; }; class E { b : Bool; a (x : Int, y : Bool) : C { --attr and method of same name { a <- x; b <- y; } }; a : Int; }; class T { a : Int; b : Bool; a (x : Int, y : Bool) : C { --attr and method of same name { a <- x; b <- y; } }; b (x : Int, y : Bool) : C { --attr and method of same name { a <- x; b <- y; } }; }; class D { a : Int; c : Bool; d (f : Int) : C { { a <- x; b <- y; } }; d(f : Int, g: Bool):D { --method redefined self }; }; Class Main { man():C { (new C).init(1,true) }; man():C { --method redefined (new C).init(1,true) }; };