The Science of Programming/SwayPresentations/Objects/ClassAndObjectComponents2
Class and Object Components, continued
Here's an attempt...
var z =
{
var z_shared = { var count = 0; this; };
function z()
{
var shared = z_shared;
var count = 0;
shared . count += 1;
count += 1;
this;
}
};
function x()
{
extends(z());
}
Testing...
inspect(x() . shared . count); inspect(x() . count); inspect(x() . shared . count);
Output is as desired:
x() . shared . count is 1 x() . count is 1 x() . shared . count is 3
The beauty of concatenation...