| Zurück | 
Allgemeines
Die IDL (Interface Description Language) stellt Mittel zu Beschreibung von 
Schnittstellen zu verfügung. Dabei ist der entstehende Code nicht direkt durch 
die Programmiersprachen zu übersetzten. Es müssen diese Konstrukte zunächst 
umgesetzt werden in die entsprechende Sprache. Derzeit ist es möglich diesen Code 
in die folgenden Sprachen zu überstzten: C,C++,Java,Smalltalk,ADA. Dabei wird 
derzeit C++ am häufigsten verwendet. Um einen IDL Code in eine spezielle Sprache zu 
übertragen, ist es nötig diesen Code zu übersetzen. Dies geschiet mittels 
der sog. Language Mapping 
Die Sprache
Die von der IDL verwendete Sprache ist C++ sehr ähnlich. Nicht nur die Notation ist vergleichbar, sondern 
auch die zu verwendenden Schlüsselwörter. Dennoch verleiten derartige Ähnlichkeiten auch zu Fehlern. Hier zunächst 
einen Überblick über die reservierten Schlüsselwörter:
 
any 
default 
inout 
out 
switch 
 
attribute 
double 
interface 
raises 
TRUE 
 
boolean 
enum 
long 
readonly 
typedef 
 
case 
exception 
module 
sequence 
unsigned 
 
char 
FALSE 
Object 
short 
union 
 
const 
float 
octet 
string 
void 
 
context 
in 
oneway 
struct 
 
C++ und IDL Gleichheiten
Unterschiede zu C++
Ein kleines Beispiel
//Dies ist das erste einfache Interface in IDL
interface foo {
   void print(in string msg) ;
};
Hier wurde ein Interface Deklariert names foo. Dort exitiert eine Prozedur print. 
Print erwartet einen Parameter vom Typ String. Dieser Parameter ist ein Eingangsparameter.
Ein 2. Beispiel
//Dies ist das zweite einfache Interface in IDL
interface foo {
   oneway void print(in string msg) ;
   attribute short var1;
   readonly attribute long var2;
};
Das oben beschriebene Beispiel wurde ergänzt. Die Prozedur print liefert nun keine Erfolgsmeldung 
mehr an den Client zurück. Weiterhin wurden 2 Variablen definiert. Die eine von Type short, die andere vom 
Typ long. Var2 kann nur gelesen werden. Der Bezeichner Attribute kennzeichnet Variablen nicht nur. Er kapselt 
diese. Der Zugriff auf die Variablen ist nur über dafür vorgesehene Methoden gestattet. Der 
Zusatz readonly verhindet, dass die Methode zum schreiben der Variablen erzeugt wird. Dadurch 
ist der Zugriff beschränkt.