tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
37
Task/Polymorphic-copy/OxygenBasic/polymorphic-copy.oxy
Normal file
37
Task/Polymorphic-copy/OxygenBasic/polymorphic-copy.oxy
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
'======
|
||||
class T
|
||||
'======
|
||||
|
||||
float vv
|
||||
|
||||
method constructor(float a=0) {vv=a}
|
||||
method destructor {}
|
||||
method copy as T {new T ob : ob<=vv : return ob}
|
||||
method mA() as float {return vv*2}
|
||||
method mB() as float {return vv*3}
|
||||
|
||||
end class
|
||||
|
||||
|
||||
'======
|
||||
class S
|
||||
'======
|
||||
|
||||
has T
|
||||
|
||||
method mB() as float {return vv*4} 'ovveride
|
||||
|
||||
end class
|
||||
|
||||
'====
|
||||
'TEST
|
||||
'====
|
||||
|
||||
new T objA(10.5)
|
||||
|
||||
let objB = cast S objA.copy
|
||||
|
||||
print objA.mb 'result 31.5
|
||||
print objB.mb 'result 42
|
||||
|
||||
del objA : del objB
|
||||
Loading…
Add table
Add a link
Reference in a new issue