I'm confused by this bit of code (Miniscript 1.6.2)
Animal={
"name":"unknown",
"food":{},
}
gorilla=new Animal
gorilla.name="Herby"
gorilla.food["Banana"]="twice a day"
gorilla.food["Nuts"]="100g."
zebra=new Animal
print zebra.food // prints Banana.. nuts.. ? expected empty {}
print zebra.name // "unknown", as expected
I create zebra
which 'is a' Animal
.
The value of name
behaves as I expected.. For zebra it is 'unknown'.
But zebra's food
property already contains the values I set on gorilla
.
pprint Animal
shows that the values set on gorilla end up in the super 'class'.
Setting a property in a 'derived object' should not change the value in the 'super object'..
Am I missing something?