34 lines
637 B
Plaintext
34 lines
637 B
Plaintext
|
|
// Test direct creation vs function return
|
||
|
|
|
||
|
|
box TestBox {
|
||
|
|
init { x, y }
|
||
|
|
|
||
|
|
TestBox(x, y) {
|
||
|
|
me.x = x
|
||
|
|
me.y = y
|
||
|
|
}
|
||
|
|
|
||
|
|
getX() {
|
||
|
|
return me.x
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
print("1. Direct creation:")
|
||
|
|
direct = new TestBox(10, 20)
|
||
|
|
print("Using method: " + direct.getX())
|
||
|
|
print("Direct field: " + direct.x)
|
||
|
|
|
||
|
|
print("\n2. Function return:")
|
||
|
|
function createBox() {
|
||
|
|
return new TestBox(30, 40)
|
||
|
|
}
|
||
|
|
|
||
|
|
fromFunc = createBox()
|
||
|
|
print("Using method: " + fromFunc.getX())
|
||
|
|
try {
|
||
|
|
print("Direct field: " + fromFunc.x)
|
||
|
|
} catch {
|
||
|
|
print("ERROR: Cannot access field from function-returned instance")
|
||
|
|
}
|
||
|
|
|
||
|
|
print("\n✅ Test completed!")
|