Search Results

Search found 1 results on 1 pages for 'slojo'.

Page 1/1 | 1 

  • Method overloading in groovy

    - by slojo
    I am trying to take advantage of the convenience of groovy's scripting syntax to assign properties, but having trouble with a specific case. I must be missing something simple here. I define class A, B, C as so: class A { A() { println "Constructed class A!" } } class B { B() { println "Constructed class B!" } } class C { private member C() { println "Constructed class C!" } def setMember(A a) { println "Called setMember(A)!" member = a } def setMember(B b) { println "Called setMember(B)!" member = b } } And then try the following calls in a script: c = new C() c.setMember(new A()) // works c.member = new A() // works c.setMember(new B()) // works c.member = new B() // doesn't work! The last assignment results in an error: 'Cannot cast object of class B to class A". Why doesn't it call the proper setMember method for class B like it does for class A?

    Read the article

1