Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
41
Task/Polymorphism/Wren/polymorphism.wren
Normal file
41
Task/Polymorphism/Wren/polymorphism.wren
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
class Point {
|
||||
construct new(x, y) {
|
||||
_x = x
|
||||
_y = y
|
||||
}
|
||||
|
||||
static new(x) { new(x, 0) }
|
||||
static new() { new(0, 0) }
|
||||
|
||||
static fromPoint(p) { new(p.x, p.y) }
|
||||
|
||||
x { _x }
|
||||
y { _y }
|
||||
|
||||
print() { System.print("Point at (%(_x), %(_y))") }
|
||||
}
|
||||
|
||||
class Circle is Point {
|
||||
construct new(x, y, r) {
|
||||
super(x, y)
|
||||
_r = r
|
||||
}
|
||||
|
||||
static new(x, r) { new(x, 0, r) }
|
||||
static new(x) { new(x, 0, 0) }
|
||||
static new() { new(0, 0, 0) }
|
||||
|
||||
static fromCircle(c) { new(c.x, c.y, c.r) }
|
||||
|
||||
r { _r }
|
||||
|
||||
print() { System.print("Circle at center(%(x), %(y)), radius %(_r)") }
|
||||
}
|
||||
|
||||
var points = [Point.new(), Point.new(1), Point.new(2, 3), Point.fromPoint(Point.new(3, 4))]
|
||||
for (point in points) point.print()
|
||||
var circles = [
|
||||
Circle.new(), Circle.new(1), Circle.new(2, 3),
|
||||
Circle.new(4, 5, 6), Circle.fromCircle(Circle.new(7, 8, 9))
|
||||
]
|
||||
for (circle in circles) circle.print()
|
||||
Loading…
Add table
Add a link
Reference in a new issue