RosettaCodeData/Task/Polymorphism/Groovy/polymorphism-1.groovy

19 lines
419 B
Groovy

@Canonical
@TupleConstructor(force = true)
@ToString(includeNames = true)
class Point {
Point(Point p) { x = p.x; y = p.y }
void print() { println toString() }
Number x
Number y
}
@Canonical
@TupleConstructor(force = true)
@ToString(includeNames = true, includeSuper = true)
class Circle extends Point {
Circle(Circle c) { super(c); r = c.r }
void print() { println toString() }
Number r
}