User Tools

Site Tools


at:tutorial:symbiosis

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
Next revisionBoth sides next revision
at:tutorial:symbiosis [2007/04/06 16:22] jdedeckerat:tutorial:symbiosis [2007/06/19 10:26] jdedecker
Line 8: Line 8:
  
 This chapter explains how both sides of this symbiotic relationship between Java and AmbientTalk can be leveraged. The goal of this symbiotic relationship is to complement the advantages of both languages and to alleviate their disadvantages.  For example, AmbientTalk can use the extensive class library from Java and Java can benefit from AmbientTalk's superior concurrency abstractions. This chapter explains how both sides of this symbiotic relationship between Java and AmbientTalk can be leveraged. The goal of this symbiotic relationship is to complement the advantages of both languages and to alleviate their disadvantages.  For example, AmbientTalk can use the extensive class library from Java and Java can benefit from AmbientTalk's superior concurrency abstractions.
 +
 +===== Symbiosis Architecture =====
  
 ===== Accessing Java classes ===== ===== Accessing Java classes =====
Line 18: Line 20:
  
 ===== Creating Java objects ===== ===== Creating Java objects =====
-Creating a new instance of the Vector class is done by invoking the method new on the class object.+Java classes can be instantiated in AmbientTalk similar to how AmbientTalk objects are instantiated, i.e. by sending new to the wrapper for the class, which returns a wrapped instance of the Java class. Arguments to new are passed as arguments to  
 +the Java constructor. For example, in the snippet code below **new** method is invoked on the class **Vector**
  
 <code> <code>
Line 33: Line 36:
  
 ===== Invoking methods on Java objects ===== ===== Invoking methods on Java objects =====
-In a similar fashion to calling constructors on Java classes we can also call other methods defined in the Java class.  For example, adding a elements to the vector can be done by invoking the add method.+Java objects appear as AmbientTalk objects whose field and method slots correspond to public instance-level fields and methods in the Java object. These are accessed or invoked as if they were plain AmbientTalk slots.  In the example, this means that all public methods and fields of the **Vector** class are accessible from within AmbientTalk.  Hence, to add elements to the vector we can simply invoke the add method on the AmbientTalk wrapper object.
  
 <code> <code>
at/tutorial/symbiosis.txt · Last modified: 2013/05/17 20:25 by tvcutsem