- Code: Select all
var Parent = {
new: func(id=0) {
var obj = {parents: [Parent]};
obj.id = id;
return obj;
},
getInfo: func {
print("no info\n");
},
getId: func {
print("id: ", me.id, "\n");
}
};
var Child = {
new: func(id=0) {
var obj = {parents: [Child, Parent]};
Parent.id = id;
return obj;
},
getInfo: func {
print("I am a Child\n");
}
};
var Dog = {
new: func {
var obj = {parents: [Dog, Parent]};
return obj;
}
};
var child1 = Child.new(1);
var child2 = Child.new(2);
var dog = Dog.new();
child1.getInfo();
child1.getId();
child2.getInfo();
child2.getId();
dog.getInfo();
dog.getId();
I expected the following result:
I am a Child
id: 1
I am a Child
id: 2
no info
id: 0
But I get:
I am a Child
id: 2
I am a Child
id: 2
no info
id: 2
I wonder what I do wrong.