at:tutorial:objects
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
at:tutorial:objects [2007/06/27 11:40] – jorge | at: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, | ||
- | 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' | ||
- | |||
- | 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 }; | ||
- | } | ||
- | >>< | ||
- | </ | ||
- | |||
- | This object can be instantiated to create new points as follows: | ||
- | |||
- | < | ||
- | > def initialPoint := Point.new(0, | ||
- | </ | ||
- | |||
- | ===== Sending messages ===== | ||
- | In AmbientTalk, | ||
- | |||
- | ===== 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