at:tutorial:objects
This is an old revision of the document!
Table of Contents
In this section, we explain how the object-oriented programming paradigm is implemented in AmbientTalk.
Objects, fields and methods
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 init(m,n) { x := m; y := n; } def sumofsquares() { x*x + y*y }; } >><object:439658>
This object can be instantiated to create new points as follows:
> def initialPoint := Point.new(0,0)
Sending messages
In AmbientTalk, computation is expressed in terms of object sending messages to one another.
Cloning and instantiation
Delegation and Dynamic Inheritance
Delegation and cloning
First-class Delegation
Encapsulation
at/tutorial/objects.1182937208.txt.gz · Last modified: 2007/06/27 11:42 (external edit)