Polymorphism: Difference between revisions

m
Line 1,333:
c.x //Evaluates to 12</lang>
=={{header|Elena}}==
ELENA 3.4.x :
<lang elena>import extensions.;
class Point
{
prop int prop X :: _x.;
prop int prop Y :: _y.;
constructor new(IntNumberint x, IntNumberint y)
[{
_xX := x.;
_yY := y.
]}
constructor new()
<= new(0,0).;
print() [{ console .printLine("Point") ]}
}
class Circle :: Point
{
prop int prop R :: _r.;
constructor new()
<= new(0).;
constructor new(IntNumberint r)
<= new(0, 0, r).;
constructor new(IntNumberint x, IntNumberint y, IntNumberint r)
<= new(x, y);
[{
_rR := r.
]}
print() [{ console .printLine("Circle") ] }
}
public program()
{
[
varPoint p := Point new. Point();
varPoint c := Circle new. Circle();
p print.print();
c print.print()
]}</lang>
{{out}}
<pre>
Anonymous user