The Science of Programming/SwayPresentations/Objects/ClassesViaConcatenation

Inheritance via Concatenation

The idea is from Antero Taivalsaari.

Concatenate the environment of the subclass and the superclass.

Now, looking up a component of a superclass is exactly the same process as looking up a component of the subclass.

   class g
       var x = 2;
       function me("I'm g");
   class f extends g
       var y = 4;
       function me("I'm f");

Make some objects:

   var gobj = new g;
   var fobj = new f;

gobj's environment:

variable value
x 2
me lambda() { "I'm g"; }

fobj's environment:

variable value
y 4
me lambda() { "I'm f"; }
x 3
me lambda() { "I'm g"; }

Next Previous Top