This is an old revision of the document!
In this section, we explain how the object-oriented programming paradigm is implemented in AmbientTalk.
In AmbientTalk, objects are not instantiated from classes. Rather, they are either created ex-nihilo or by cloning and adapting existing objects, like prototypes in the SELF programming language. The definition of such a prototypical object contains a number of fields and methods that represent the object's state and behaviour respectively.
The following code illustrates the ex-nihilo creation of an object:
> def point := object: { def x := 0; def y := 0; def sumofsquares() { x*x + y*y }; } >><object:439658>
In AmbientTalk, computation is expressed in terms of object sending messages to one another.