Self Papers 4.5.0 documentation

Organizing Programs Without Classes

«  Parents are Shared Parts: Inheritance and Encapsulation in Self   ::   Contents   ::   Object Storage and Inheritance for Self  »

Organizing Programs Without Classes

David Ungar, Craig Chambers, Bay-Wei Chang, and Urs Hölzle

Abstract:

All organizational functions carried out by classes can be accomplished in a simple and natural way by object inheritance in classless languages, with no need for special mechanisms. A single model–dividing types into prototypes and traits–supports sharing of behavior and extending or replacing representations. A natural extension, dynamic object inheritance, can model behavioral modes. Object inheritance can also be used to provide structured name spaces for well-known objects. Classless languages can even express ‘class-based’ encapsulation. These stylized uses of object inheritance become instantly recognizable idioms, and extend the repertory of organizing principles to cover a wider range of programs. <hr>

Lisp and Symbolic Computation 4(3), Kluwer Academic Publishers, June, 1991.

PDF

«  Parents are Shared Parts: Inheritance and Encapsulation in Self   ::   Contents   ::   Object Storage and Inheritance for Self  »