Time for an 2014 update…
This commit is contained in:
parent
372c577f83
commit
09687c4926
2520 changed files with 34227 additions and 7318 deletions
18
Task/Polymorphism/Groovy/polymorphism-1.groovy
Normal file
18
Task/Polymorphism/Groovy/polymorphism-1.groovy
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
@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
|
||||
}
|
||||
8
Task/Polymorphism/Groovy/polymorphism-2.groovy
Normal file
8
Task/Polymorphism/Groovy/polymorphism-2.groovy
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
def p = new Point(x: 3, y: 4)
|
||||
def c = new Circle(x: 4, y: 3, r: 5)
|
||||
|
||||
[(p): new Point(p), (c): new Circle(c)].each { v1, v2 ->
|
||||
print "Verifying $v1 == "
|
||||
v2.print()
|
||||
assert v1 == v2
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue