mirror of
https://github.com/polserver/polserver
synced 2026-08-13 08:23:08 -04:00
34 lines
1,004 B
Text
34 lines
1,004 B
Text
class BaseClass1()
|
|
function BaseClass1( this, arg0, arg1 )
|
|
print( $"BaseClass1 arg0={arg0} arg1={arg1}" );
|
|
this.base1 := { this.base1 ?: {} ..., { arg0, arg1 } };
|
|
endfunction
|
|
endclass
|
|
|
|
class BaseClass2()
|
|
function BaseClass2( this, arg0 )
|
|
print( $"BaseClass2 arg0={arg0}" );
|
|
// this.base2 := arg0;
|
|
this.base2 := { this.base2 ?: {} ..., { arg0 } };
|
|
endfunction
|
|
endclass
|
|
|
|
class Foo( BaseClass1, BaseClass2 )
|
|
function Foo( this, arg0 )
|
|
@BaseClass1::BaseClass1( this, "unscoped-arg0", "unscoped-arg1" );
|
|
@BaseClass2::BaseClass2( this, "unscoped-arg2" );
|
|
print( "---" );
|
|
@BaseClass1::BaseClass1( this, "unscoped-arg0", "unscoped-arg1" );
|
|
@BaseClass2::BaseClass2( this, "unscoped-arg2" );
|
|
print( "---" );
|
|
this.child := arg0;
|
|
endfunction
|
|
endclass
|
|
|
|
var obj := Foo( "foo" );
|
|
|
|
// We'll see that obj.base1 always contains a value of unscoped-arg0/1, and obj.base2
|
|
// will have "unscoped-arg2"
|
|
foreach key in obj
|
|
print( $"{_key_iter}={key}" );
|
|
endforeach
|