21.08.2013 Aufrufe

Einführung in CORBA Middleware Middlewareplattform ... - ETH Zürich

Einführung in CORBA Middleware Middlewareplattform ... - ETH Zürich

Einführung in CORBA Middleware Middlewareplattform ... - ETH Zürich

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

• Str<strong>in</strong>g: str<strong>in</strong>g, wstr<strong>in</strong>g<br />

IDL: Template-Typen<br />

• Bounded Str<strong>in</strong>g: str<strong>in</strong>g, wstr<strong>in</strong>g<br />

• Sequence: sequence<br />

• Bounded Sequence: sequence<br />

• Array: type[size]<br />

<strong>ETH</strong> <strong>Zürich</strong> 9 roemer@<strong>in</strong>f.ethz.ch<br />

IDL: Interfaces 1<br />

• Deklaration der Schnittstelle e<strong>in</strong>es <strong>CORBA</strong>-Objektes:<br />

<strong>in</strong>terface Konto {<br />

str<strong>in</strong>g konto_nummer();<br />

void e<strong>in</strong>zahlen(<strong>in</strong> unsigned long betrag);<br />

};<br />

• Parameter werden mit e<strong>in</strong>er Richtung versehen (<strong>in</strong>,<br />

out oder <strong>in</strong>out)<br />

• Methoden können Exceptions werfen:<br />

<strong>in</strong>terface Konto {<br />

void abheben (<strong>in</strong> unsigned long betrag)<br />

raises (BankException);<br />

};<br />

<strong>ETH</strong> <strong>Zürich</strong> 11 roemer@<strong>in</strong>f.ethz.ch<br />

IDL: Konstruierte Typen<br />

• Exception: exception Error { short code; };<br />

• Aufzählungen: enum Color { Red, Blue };<br />

• Strukturen: struct Po<strong>in</strong>t { float X; float Y; };<br />

• Union:<br />

union PackedInt switch (short) {<br />

case 2: short <strong>in</strong>t2;<br />

case 4: long <strong>in</strong>t4;<br />

default: long long <strong>in</strong>t8;<br />

};<br />

<strong>ETH</strong> <strong>Zürich</strong> 10 roemer@<strong>in</strong>f.ethz.ch<br />

IDL: Interfaces 2<br />

• Vererbung (auch von mehreren Interfaces):<br />

<strong>in</strong>terface GiroKonto : Konto {<br />

attribute unsigned long kredit_limit;<br />

};<br />

• Attribute können abgefragt und gesetzt werden<br />

• Überladen von Methoden (gleicher Methodenname<br />

mit verschiedenen Parametern) ist nicht möglich<br />

<strong>ETH</strong> <strong>Zürich</strong> 12 roemer@<strong>in</strong>f.ethz.ch

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!