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 />

Implementierung e<strong>in</strong>es Interface wird durch das Schlüsselwort „implements“ bei <strong>de</strong>r<br />

Klassen<strong>de</strong>f<strong>in</strong>ition angezeigt.<br />

1. Bsp.: Natürliche Ordnungsbeziehungen s<strong>in</strong>d <strong>in</strong> <strong>Java</strong> über das Interface<br />

Comparable e<strong>in</strong>gefangen:<br />

/**************** Comparable.java *****************************<br />

/** Das Interface <strong>de</strong>klariert e<strong>in</strong>e Metho<strong>de</strong> anhand <strong>de</strong>r sich das<br />

* das aufgerufene Objekt mit <strong>de</strong>m uebergebenen vergleicht.<br />

* Fuer je<strong>de</strong>n vom Objekt abgeleiteten Datentyp muss e<strong>in</strong>e solche<br />

* Vergleichsklasse implementiert wer<strong>de</strong>n.<br />

* Die Metho<strong>de</strong> erzeugt e<strong>in</strong>e Fehlermeldung, wenn "a" e<strong>in</strong> Objekt<br />

* e<strong>in</strong>er an<strong>de</strong>ren Klasse als dieses Objekt ist.<br />

*<br />

* <strong>in</strong>t compareTo(Comparable a)<br />

* liefert 0, wenn this == 0<br />

* liefert < 0, wenn this < a<br />

* liefert > 0, wenn this > a<br />

*<br />

*/<br />

public <strong>in</strong>terface Comparable<br />

{<br />

public <strong>in</strong>t compareTo(Comparable a);<br />

}<br />

Zahlreiche von <strong>Java</strong> bereitgestellte Referenztypen (Klassen) haben dieses Interface<br />

implementiert. Deshalb sortiert die nachfolgen<strong>de</strong>n Sortierrout<strong>in</strong>e (Sort) Str<strong>in</strong>g- und<br />

Zahlen-Objekte, wie <strong>de</strong>r Aufrufe aus SortTest beweisen.<br />

public class Sort<br />

{<br />

public void sort(Comparable x[])<br />

{<br />

bubbleSort(x);<br />

}<br />

public void bubbleSort(Comparable x[])<br />

{<br />

for (<strong>in</strong>t i = 0; i < x.length; i++)<br />

{<br />

for (<strong>in</strong>t j = i + 1; j < x.length; j++)<br />

{<br />

if (x[i].compareTo(x[j]) > 0)<br />

{<br />

Comparable temp = x[i];<br />

x[i] = x[j];<br />

x[j] = temp;<br />

}<br />

}<br />

}<br />

}<br />

}<br />

public class SortTest<br />

{<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g args[])<br />

{<br />

Str<strong>in</strong>g sa[] = {<br />

"Juergen","Christian","Bernd","Werner","Uwe",<br />

"Erich","Kurt","Karl","Emil","Ernst"<br />

};<br />

// Ausgabe <strong>de</strong>s noch nicht sortierten x<br />

System.out.pr<strong>in</strong>tln("Vor <strong>de</strong>m Sortieren:");<br />

for (<strong>in</strong>t i = 0; i < sa.length; i++)<br />

83

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!