Polymorphism: Difference between revisions

Content added Content deleted
(→‎{{header|jq}}: def set(keyname;value))
Line 1,332: Line 1,332:
<lang ela>c = circleX 12
<lang ela>c = circleX 12
c.x //Evaluates to 12</lang>
c.x //Evaluates to 12</lang>
=={{header|Elena}}==
ELENA 3.2 :
<lang elena>import extensions.

class Point
{
int prop X :: _x.
int prop Y :: _y.
constructor new(IntNumber x, IntNumber y)
[
_x := x.
_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);
[
_r := r.
]
print [ console printLine("Circle") ]
}

program =
[
var p := Point new.
var c := Circle new.
p print.
c print.
].</lang>
{{out}}
<pre>
Point
Circle
</pre>


=={{header|Factor}}==
=={{header|Factor}}==