Kursinhalt
Java OOP
Java OOP
Was Ist Ein Interface?
Was, wenn wir von mehr als einer Klasse erben müssen? Java ermöglicht uns dies mit Schnittstellen. Trotz des Namens ist eine Schnittstelle einer abstrakten Klasse sehr ähnlich. Schauen wir uns die Deklaration einer Schnittstelle an:
In einfachen Worten wird ein Interface verwendet, um Methoden zu definieren, die von einer Klasse implementiert werden. Interfaces haben eine eigene Syntax zur Erstellung. Während wir "public class className { }
" zum Erstellen einer Klasse verwendet haben, sieht die Syntax zum Erstellen eines Interfaces anders aus:
InterfaceExample
package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
- Achten Sie auf die Methodendeklaration;
- Wir verwenden keine Zugriffsmodifizierer;
- Wir stellen keine Methodenkörper bereit;
- Es ist nicht notwendig, Methoden als abstrakt zu kennzeichnen, da wir in einem Interface arbeiten;
- Wir erstellen keine Felder innerhalb von Interfaces.
Betrachten wir die Verwendung eines Interface
anhand des Beispiels eines Media Players.
Wir haben ein Interface
namens MediaPlayer
, das die Methoden play
, pause
und stop
beinhaltet. Darüber hinaus gibt es zwei Klassen, die dieses Media Player Interface implementieren, nämlich AudioPlayer
und VideoPlayer
.
MediaPlayer
AudioPlayer
VideoPlayer
public interface MediaPlayer { void play(); void pause(); void stop(); }
Wie Sie sehen können, haben wir ein interface
und zwei Klassen erstellt, die dieses Interface implementieren. Die Syntax ist die gleiche wie beim Überschreiben abstrakter Methoden. Wir haben jede Methode für jede Klasse überschrieben, um ihre eigene spezifische Funktion auszuführen.
Eine der Eigenschaften von Interfaces ist, dass wir mehr als ein Interface implementieren können. Schauen wir uns ein Beispiel an:
Vehicle
VehicleInfo
Car
package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }
Wir haben die Schnittstellen Vehicle
und VehicleInfo
erstellt. Zusätzlich haben wir eine Klasse Car
erstellt, die beide dieser Schnittstellen implementiert. Auf diese Weise können wir wählen, welches Verhalten in der Klasse implementiert wird, was das objektorientierte Programmierprinzip der Abstraktion schön ergänzt.
Die Arbeit mit Schnittstellen ist sehr praktisch, und sie werden umfangreich verwendet. Im nächsten Kapitel werden wir auch die Hauptunterschiede zwischen einer Schnittstelle und einer abstrakten Klasse untersuchen und lernen, welche in der Praxis besser zu verwenden ist!
1. Was ist eine Schnittstelle in Java?
2. In Java, kann eine Klasse mehrere Schnittstellen implementieren?
3. Was ist der Zweck einer Schnittstelle in Java?
4. Welches Schlüsselwort wird verwendet, um eine Schnittstelle in einer Klasse zu implementieren?
5. Was passiert, wenn eine Klasse behauptet, ein Interface zu implementieren, aber keine Implementierungen für alle Methoden bereitstellt?
Danke für Ihr Feedback!