Schnittstellen: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
(Das Konzept der Schnittstellen in der Programmierung mit Java)
(Sprachgebrauch)
Zeile 18: Zeile 18:
 
==Sprachgebrauch==
 
==Sprachgebrauch==
  
Das Wort '''Schnittstelle''' ist im Java-Sprachgebrauch überladen. Im vorliegenden Artikel hat es die Bedeutung von '''abstrakte Methode'''. Daneben wird es aber auch oft als deutsche Übersetzung für das Java-Konstrukt '''interface''' benutzt. Einerseits macht das Sinn, da ein "interface" ja abstrakte Methoden enthält, andererseits passt es aber nur bedingt, weil eine '''abstrakte Basisklasse''' ebenfalls abstrakte Methoden enthält. Im vorliegenden Artikel werden deshalb die Begriffe "interface" und "abstrakte Basisklasse" unter dem allgemeineren Begriff '''abstrakter Obertyp''' zusammengefasst.
+
Das Wort '''Schnittstelle''' ist im Java-Sprachgebrauch überladen. Im vorliegenden Artikel hat es die Bedeutung von '''abstrakte Methode'''. Daneben wird es aber auch oft als deutsche Übersetzung für das Java-Konstrukt '''interface''' benutzt. Einerseits macht das Sinn, da ein "interface" ja abstrakte Methoden enthält, andererseits passt es aber nur bedingt, weil eine '''abstrakte Basisklasse''' ebenfalls abstrakte Methoden enthält. Im vorliegenden Artikel werden deshalb die Begriffe "interface" und "abstrakte Basisklasse" unter dem allgemeineren Begriff '''abstrakter Obertyp''' zusammengefasst. Der Begriff "abstrakter Obertyp" bietet zudem eine ideale Überleitung zum '''Polymorphismus''', der ja die Beziehungen zwischen Ober- und Untertypen beschreibt.
  
 
[[Kategorie:Java]]
 
[[Kategorie:Java]]
 
[[Kategorie:Java Grundlagen]]
 
[[Kategorie:Java Grundlagen]]
 
[[Kategorie:Tutorials (Java)]]
 
[[Kategorie:Tutorials (Java)]]

Version vom 11. Februar 2012, 07:22 Uhr

Das Konzept der Schnittstellen in der Programmierung mit Java

Schnittstellen sind die Verbindung eines Objektes zum Benutzercode. Dieser kann dann zu den Schnittstellen programmieren, ohne sich um die versteckte Implementierung des Objekts kümmern zu müssen:

Schnittstellen.JPG

In Java gibt es abstrakte Methoden, mit denen wir die Schnittstellen von ihrer Implementierung trennen können. Eine abstrakte Methode ist ein Methodenkopf ohne Rumpf. Sie wird mit "public/protected abstract" gekennzeichnet und kann in einem Interface oder in einer abstrakten Basisklasse deklariert werden. Das Interface (oder die abstrakte Basisklasse) stellt dann seinerseits einen abstrakten Obertyp dar. Beispiel:

Paintable.JPG

Wenn der deklarierte Typ einer Variablen vom abstrakten Obertyp ist, können wir seinen Polymorphismus nutzen, ohne uns um die konkreten Untertypen kümmern zu müssen. Die Objekte, die der Variablen zur Laufzeit zugewiesenen werden, können von irgendeinem Untertyp sein, über den der Benutzercode nichts wissen muss:

Benutzercode.JPG

In Java hängt das Konzept der Schnittstellen also eng zusammen mit den Begriffen abstrakte Methode, abstrakter Obertyp (Interface oder abstrakte Basisklasse) und Polymorphismus. Es ermöglicht das Programmieren zu den Schnittstellen, ohne Festlegung von konkreten Implementierungen. Dadurch ist der Benutzercode weniger anfällig für Veränderungen in den Einzelheiten der Implementierung.

Sprachgebrauch

Das Wort Schnittstelle ist im Java-Sprachgebrauch überladen. Im vorliegenden Artikel hat es die Bedeutung von abstrakte Methode. Daneben wird es aber auch oft als deutsche Übersetzung für das Java-Konstrukt interface benutzt. Einerseits macht das Sinn, da ein "interface" ja abstrakte Methoden enthält, andererseits passt es aber nur bedingt, weil eine abstrakte Basisklasse ebenfalls abstrakte Methoden enthält. Im vorliegenden Artikel werden deshalb die Begriffe "interface" und "abstrakte Basisklasse" unter dem allgemeineren Begriff abstrakter Obertyp zusammengefasst. Der Begriff "abstrakter Obertyp" bietet zudem eine ideale Überleitung zum Polymorphismus, der ja die Beziehungen zwischen Ober- und Untertypen beschreibt.