Polymorphic copy: Difference between revisions

m
(Scala solution added)
Line 682:
</lang>
=={{header|Elena}}==
ELENA 3.24 :
<lang elena>import extensions.
 
class T
{
Name = "T".
T<T> clone = T new.
}
 
class S :: T
{
Name = "S".
T<T> clone = S new.
}
 
programpublic =program
[
typeT<T> original := S new.
typeT<T> clone := original clone.
console printLine(original Name).
console printLine(clone Name).
].</lang>
{{out}}
<pre>
Anonymous user