The Science of Programming/SwayPresentations/Objects/ClassesViaConcatenation

From Wikibooks, open books for an open world
Jump to navigation Jump to search

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