class A {}
class B extends A {}
class C extends B {}

def func(A a) {
	println("A")
}

def func(B b) {
	println("B")
}

A a = new C()
func(a)