RosettaCodeData/Task/Polymorphism/Elena/polymorphism.elena

47 lines
583 B
Text
Raw Permalink Normal View History

2019-09-12 10:33:56 -07:00
import extensions;
2018-06-22 20:57:24 +00:00
class Point
{
2019-09-12 10:33:56 -07:00
prop int X;
prop int Y;
2018-06-22 20:57:24 +00:00
2019-09-12 10:33:56 -07:00
constructor(int x, int y)
{
X := x;
Y := y
}
2018-06-22 20:57:24 +00:00
2019-09-12 10:33:56 -07:00
constructor()
<= (0,0);
2018-06-22 20:57:24 +00:00
2019-09-12 10:33:56 -07:00
print() { console.printLine("Point") }
2018-06-22 20:57:24 +00:00
}
2019-09-12 10:33:56 -07:00
class Circle : Point
2018-06-22 20:57:24 +00:00
{
2019-09-12 10:33:56 -07:00
prop int R;
2018-06-22 20:57:24 +00:00
2019-09-12 10:33:56 -07:00
constructor()
<= (0);
2018-06-22 20:57:24 +00:00
2019-09-12 10:33:56 -07:00
constructor(int r)
<= (0, 0, r);
2018-06-22 20:57:24 +00:00
2019-09-12 10:33:56 -07:00
constructor(int x, int y, int r)
<= (x, y)
{
R := r
}
2018-06-22 20:57:24 +00:00
2019-09-12 10:33:56 -07:00
print() { console.printLine("Circle") }
2018-06-22 20:57:24 +00:00
}
2019-09-12 10:33:56 -07:00
public program()
{
Point p := new Point();
Point c := new Circle();
2018-06-22 20:57:24 +00:00
2019-09-12 10:33:56 -07:00
p.print();
c.print()
}