Polymorphism: Difference between revisions

m
(Scala contribution added.)
Line 1,333:
c.x //Evaluates to 12</lang>
=={{header|Elena}}==
ELENA 3.24 :
<lang elena>import extensions.
 
class Point
{
int prop X :: _x.
int prop Y :: _y.
constructor new(IntNumber x, IntNumber y)
[
Line 1,346:
_y := y.
]
constructor new
<= new(0,0).
print [ console printLine("Point") ]
}
 
class Circle :: Point
{
int prop R :: _r.
constructor new
<= new(0).
constructor new(IntNumber r)
<= new(0, 0, r).
constructor new(IntNumber x, IntNumber y, IntNumber r)
<= new(x, y);
Line 1,368:
_r := r.
]
print [ console printLine("Circle") ]
}
 
programpublic =program
[
var p := Point new.
var c := Circle new.
p print.
c print.
].</lang>
{{out}}
<pre>
Anonymous user