User Tools

Site Tools


at:tutorial:objects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
at:tutorial:objects [2007/06/27 11:40] jorgeat:tutorial:objects [2013/05/17 20:23] – updated tvcutsem
Line 1: Line 1:
-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: 
- 
-<code> 
-> 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> 
-</code> 
- 
-This object can be instantiated to create new points as follows: 
- 
-<code> 
-> def initialPoint := Point.new(0,0) 
-</code> 
- 
-===== 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.txt · Last modified: 2025/06/19 16:09 by elisag