16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

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.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

1.4.1.7 Schnittstellen und Pakete<br />

1.4.1.7.1 Schnittstellen<br />

Def<strong>in</strong>ition<br />

E<strong>in</strong>e Schnittstelle ist <strong>in</strong> <strong>Java</strong> e<strong>in</strong>e Sammlung von Metho<strong>de</strong>nnamen ohne konkrete<br />

Def<strong>in</strong>ition. Klassen haben die Möglichkeit zur Def<strong>in</strong>ition e<strong>in</strong>es Objekts, Schnittstellen<br />

können lediglich e<strong>in</strong> paar abstrakte Metho<strong>de</strong>n und Konstanten (f<strong>in</strong>ale Daten)<br />

<strong>de</strong>f<strong>in</strong>ieren 100 .<br />

Schnittstellen bil<strong>de</strong>n <strong>in</strong> <strong>Java</strong> <strong>de</strong>n Ersatz für Mehrfachvererbung. E<strong>in</strong>e Klasse kann<br />

<strong>de</strong>mnach nur e<strong>in</strong>e Superklasse, jedoch dafür mehrere Schnittstellen haben.<br />

E<strong>in</strong> Schnittstelle („Interface“) ist e<strong>in</strong>e beson<strong>de</strong>re Form <strong>de</strong>r Klasse, die ausschließlich<br />

abstrakte Metho<strong>de</strong>n und Konstanten enthält. Anstelle von class dient zur Def<strong>in</strong>ition<br />

e<strong>in</strong>es „Interface“ das Schlüsselwort „<strong>in</strong>terface“.<br />

"Interfaces" wer<strong>de</strong>n formal wie Klassen <strong>de</strong>f<strong>in</strong>iert, z.B.:<br />

public <strong>in</strong>terface me<strong>in</strong>eSchnittstelle<br />

{<br />

// Abstrakte Metho<strong>de</strong>n<br />

}<br />

bzw.<br />

public <strong>in</strong>terface me<strong>in</strong>eSpezialschnittstelle extends me<strong>in</strong>eSchnittstelle<br />

{<br />

// Abstrakte Metho<strong>de</strong>n<br />

}<br />

"Interfaces" können benutzt wer<strong>de</strong>n, <strong>in</strong><strong>de</strong>m sie <strong>in</strong> e<strong>in</strong>er Klasse implementiert wer<strong>de</strong>n,<br />

z.B.:<br />

public class Me<strong>in</strong>eKlasse extends Object implements me<strong>in</strong>eSchnittstelle<br />

{<br />

/* Normale Klassen<strong>de</strong>f<strong>in</strong>ition + Metho<strong>de</strong>n aus me<strong>in</strong>eSchnittstelle */<br />

}<br />

E<strong>in</strong>e Klasse kann mehrere Schnittstellen implementieren, z.B.<br />

public class Me<strong>in</strong>eKlasse extends Object<br />

implements me<strong>in</strong>eSchnittstelle1, me<strong>in</strong>eSchnittstelle2<br />

{<br />

/* Normale Klassen<strong>de</strong>f<strong>in</strong>ition + Metho<strong>de</strong>n aus me<strong>in</strong>erSchnittstelle1<br />

und me<strong>in</strong>erSchnittstelle2 */<br />

}<br />

Verwendung<br />

Bei <strong>de</strong>r Vererbung von Klassen spricht man von Ableitung, bei Interfaces nennt man<br />

es Implementierung. Durch Implementieren e<strong>in</strong>er Schnittstelle verpflichtet sich die<br />

Klasse, alle Metho<strong>de</strong>n, die im Interface <strong>de</strong>f<strong>in</strong>iert s<strong>in</strong>d, zu implementieren. Die<br />

100 Angaben zur Implementierung s<strong>in</strong>d nicht möglich<br />

82

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!