Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
104
Task/Polymorphism/NetRexx/polymorphism.netrexx
Normal file
104
Task/Polymorphism/NetRexx/polymorphism.netrexx
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
/* NetRexx */
|
||||
|
||||
options replace format comments java crossref savelog symbols binary
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
class RCPolymorphism public final
|
||||
|
||||
method main(args = String[]) public constant
|
||||
|
||||
parry = [Point -
|
||||
Point() -
|
||||
, Point(1.0) -
|
||||
, Point(1.0, 2.0) -
|
||||
, Point(Point(0.3, 0.2)) -
|
||||
, Circle() -
|
||||
, Circle(2.0, 2.0) -
|
||||
, Circle(5.0, 6.0, 7.0) -
|
||||
, Circle(Point(8.0, 9.0)) -
|
||||
, Circle(Point(8.0, 9.0), 4.0) -
|
||||
, Circle(Circle(1.5, 1.4, 1.3)) -
|
||||
]
|
||||
|
||||
loop pp = 0 to parry.length - 1
|
||||
parry[pp].print
|
||||
end pp
|
||||
|
||||
return
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
class RCPolymorphism.Point public binary
|
||||
|
||||
properties private
|
||||
x = double
|
||||
y = double
|
||||
className = Point.class.getSimpleName
|
||||
|
||||
method Point(x_ = double 0.0, y_ = double 0.0)
|
||||
setX(x_)
|
||||
setY(y_)
|
||||
return
|
||||
|
||||
method Point(p = Point)
|
||||
this(p.getX, p.getY)
|
||||
return
|
||||
|
||||
method display public returns String
|
||||
hx = '@'Rexx(Integer.toHexString(hashCode())).right(8, 0)
|
||||
str = Rexx(className).left(10)':'hx': (x,y) = (' || -
|
||||
Rexx(getX()).format(null, 3)',' -
|
||||
Rexx(getY()).format(null, 3)')'
|
||||
return str
|
||||
|
||||
method getX public returns double
|
||||
return x
|
||||
|
||||
method getY public returns double
|
||||
return y
|
||||
|
||||
method setX(x_ = double 0.0) inheritable
|
||||
x = x_
|
||||
return
|
||||
|
||||
method setY(y_ = double 0.0) inheritable
|
||||
y = y_
|
||||
return
|
||||
|
||||
method print inheritable
|
||||
say display
|
||||
return
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
class RCPolymorphism.Circle public extends RCPolymorphism.Point binary
|
||||
|
||||
properties private
|
||||
r = double
|
||||
className = Circle.class.getSimpleName
|
||||
|
||||
method Circle(x_ = double 0.0, y_ = double 0.0, r_ = double 0.0)
|
||||
super(x_, y_)
|
||||
setR(r_)
|
||||
return
|
||||
|
||||
method Circle(p_ = RCPolymorphism.Point, r_ = double 0.0)
|
||||
this(p_.getX, p_.getY, r_)
|
||||
return
|
||||
|
||||
method Circle(c_ = Circle)
|
||||
this(c_.getX, c_.getY, c_.getR)
|
||||
return
|
||||
|
||||
method getR public returns double
|
||||
return r
|
||||
|
||||
method setR(r_ = double 0.0) inheritable
|
||||
r = r_
|
||||
return
|
||||
|
||||
method display public returns String
|
||||
hx = '@'Rexx(Integer.toHexString(hashCode())).right(8, 0)
|
||||
str = Rexx(className).left(10)':'hx': (x,y,r) = (' || -
|
||||
Rexx(getX()).format(null, 3)',' -
|
||||
Rexx(getY()).format(null, 3)',' -
|
||||
Rexx(getR()).format(null, 3)')'
|
||||
return str
|
||||
Loading…
Add table
Add a link
Reference in a new issue