RosettaCodeData/Task/Polymorphism/Self/polymorphism.self

22 lines
376 B
Plaintext

traits point = (|
parent* = traits clonable.
printString = ('Point(', x asString, ':', y asString, ')').
|)
point = (|
parent* = traits point.
x <- 0.
y <- 0
|)
traits circle = (|
parent* = traits clonable.
printString = ('Circle(', center asString, ',', r asString, ')').
|)
circle = (|
parent* = traits circle.
center <- point copy.
r <- 0
|)